ESPResSo 3.4-dev-1009-g69a2b86-dirty-git
Extensible Simulation Package for Soft Matter Research
interactions.cpp
Go to the documentation of this file.
1 /* Generated by Cython 0.22 */
2 
3 #define PY_SSIZE_T_CLEAN
4 #ifndef CYTHON_USE_PYLONG_INTERNALS
5 #ifdef PYLONG_BITS_IN_DIGIT
6 #define CYTHON_USE_PYLONG_INTERNALS 0
7 #else
8 #include "pyconfig.h"
9 #ifdef PYLONG_BITS_IN_DIGIT
10 #define CYTHON_USE_PYLONG_INTERNALS 1
11 #else
12 #define CYTHON_USE_PYLONG_INTERNALS 0
13 #endif
14 #endif
15 #endif
16 #include "Python.h"
17 #ifndef Py_PYTHON_H
18  #error Python headers needed to compile C extensions, please install development version of Python.
19 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
20  #error Cython requires Python 2.6+ or Python 3.2+.
21 #else
22 #define CYTHON_ABI "0_22"
23 #include <stddef.h>
24 #ifndef offsetof
25 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
26 #endif
27 #if !defined(WIN32) && !defined(MS_WINDOWS)
28  #ifndef __stdcall
29  #define __stdcall
30  #endif
31  #ifndef __cdecl
32  #define __cdecl
33  #endif
34  #ifndef __fastcall
35  #define __fastcall
36  #endif
37 #endif
38 #ifndef DL_IMPORT
39  #define DL_IMPORT(t) t
40 #endif
41 #ifndef DL_EXPORT
42  #define DL_EXPORT(t) t
43 #endif
44 #ifndef PY_LONG_LONG
45  #define PY_LONG_LONG LONG_LONG
46 #endif
47 #ifndef Py_HUGE_VAL
48  #define Py_HUGE_VAL HUGE_VAL
49 #endif
50 #ifdef PYPY_VERSION
51 #define CYTHON_COMPILING_IN_PYPY 1
52 #define CYTHON_COMPILING_IN_CPYTHON 0
53 #else
54 #define CYTHON_COMPILING_IN_PYPY 0
55 #define CYTHON_COMPILING_IN_CPYTHON 1
56 #endif
57 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
58 #define Py_OptimizeFlag 0
59 #endif
60 #define __PYX_BUILD_PY_SSIZE_T "n"
61 #define CYTHON_FORMAT_SSIZE_T "z"
62 #if PY_MAJOR_VERSION < 3
63  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
64  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
65  PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
66  #define __Pyx_DefaultClassType PyClass_Type
67 #else
68  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
69  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
70  PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
71  #define __Pyx_DefaultClassType PyType_Type
72 #endif
73 #if PY_MAJOR_VERSION >= 3
74  #define Py_TPFLAGS_CHECKTYPES 0
75  #define Py_TPFLAGS_HAVE_INDEX 0
76  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
77 #endif
78 #if PY_VERSION_HEX < 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE)
79  #define Py_TPFLAGS_HAVE_FINALIZE 0
80 #endif
81 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
82  #define CYTHON_PEP393_ENABLED 1
83  #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \
84  0 : _PyUnicode_Ready((PyObject *)(op)))
85  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
86  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
87  #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
88  #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
89  #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
90 #else
91  #define CYTHON_PEP393_ENABLED 0
92  #define __Pyx_PyUnicode_READY(op) (0)
93  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
94  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
95  #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
96  #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
97  #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
98 #endif
99 #if CYTHON_COMPILING_IN_PYPY
100  #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
101  #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
102  #define __Pyx_PyFrozenSet_Size(s) PyObject_Size(s)
103 #else
104  #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
105  #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ? \
106  PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
107  #define __Pyx_PyFrozenSet_Size(s) PySet_Size(s)
108 #endif
109 #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
110 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
111 #if PY_MAJOR_VERSION >= 3
112  #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
113 #else
114  #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
115 #endif
116 #if PY_MAJOR_VERSION >= 3
117  #define PyBaseString_Type PyUnicode_Type
118  #define PyStringObject PyUnicodeObject
119  #define PyString_Type PyUnicode_Type
120  #define PyString_Check PyUnicode_Check
121  #define PyString_CheckExact PyUnicode_CheckExact
122 #endif
123 #if PY_MAJOR_VERSION >= 3
124  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
125  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
126 #else
127  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
128  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
129 #endif
130 #ifndef PySet_CheckExact
131  #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
132 #endif
133 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
134 #if PY_MAJOR_VERSION >= 3
135  #define PyIntObject PyLongObject
136  #define PyInt_Type PyLong_Type
137  #define PyInt_Check(op) PyLong_Check(op)
138  #define PyInt_CheckExact(op) PyLong_CheckExact(op)
139  #define PyInt_FromString PyLong_FromString
140  #define PyInt_FromUnicode PyLong_FromUnicode
141  #define PyInt_FromLong PyLong_FromLong
142  #define PyInt_FromSize_t PyLong_FromSize_t
143  #define PyInt_FromSsize_t PyLong_FromSsize_t
144  #define PyInt_AsLong PyLong_AsLong
145  #define PyInt_AS_LONG PyLong_AS_LONG
146  #define PyInt_AsSsize_t PyLong_AsSsize_t
147  #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
148  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
149  #define PyNumber_Int PyNumber_Long
150 #endif
151 #if PY_MAJOR_VERSION >= 3
152  #define PyBoolObject PyLongObject
153 #endif
154 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
155  #ifndef PyUnicode_InternFromString
156  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
157  #endif
158 #endif
159 #if PY_VERSION_HEX < 0x030200A4
160  typedef long Py_hash_t;
161  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
162  #define __Pyx_PyInt_AsHash_t PyInt_AsLong
163 #else
164  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
165  #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
166 #endif
167 #if PY_MAJOR_VERSION >= 3
168  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
169 #else
170  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
171 #endif
172 #ifndef CYTHON_INLINE
173  #if defined(__GNUC__)
174  #define CYTHON_INLINE __inline__
175  #elif defined(_MSC_VER)
176  #define CYTHON_INLINE __inline
177  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
178  #define CYTHON_INLINE inline
179  #else
180  #define CYTHON_INLINE
181  #endif
182 #endif
183 #ifndef CYTHON_RESTRICT
184  #if defined(__GNUC__)
185  #define CYTHON_RESTRICT __restrict__
186  #elif defined(_MSC_VER) && _MSC_VER >= 1400
187  #define CYTHON_RESTRICT __restrict
188  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
189  #define CYTHON_RESTRICT restrict
190  #else
191  #define CYTHON_RESTRICT
192  #endif
193 #endif
194 #ifdef NAN
195 #define __PYX_NAN() ((float) NAN)
196 #else
197 static CYTHON_INLINE float __PYX_NAN() {
198  /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and
199  a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is
200  a quiet NaN. */
201  float value;
202  memset(&value, 0xFF, sizeof(value));
203  return value;
204 }
205 #endif
206 #define __Pyx_void_to_None(void_result) (void_result, Py_INCREF(Py_None), Py_None)
207 #ifdef __cplusplus
208 template<typename T>
209 void __Pyx_call_destructor(T* x) {
210  x->~T();
211 }
212 template<typename T>
213 class __Pyx_FakeReference {
214  public:
215  __Pyx_FakeReference() : ptr(NULL) { }
216  __Pyx_FakeReference(T& ref) : ptr(&ref) { }
217  T *operator->() { return ptr; }
218  operator T&() { return *ptr; }
219  private:
220  T *ptr;
221 };
222 #endif
223 
224 
225 #if PY_MAJOR_VERSION >= 3
226  #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
227  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
228 #else
229  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
230  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
231 #endif
232 
233 #ifndef __PYX_EXTERN_C
234  #ifdef __cplusplus
235  #define __PYX_EXTERN_C extern "C"
236  #else
237  #define __PYX_EXTERN_C extern
238  #endif
239 #endif
240 
241 #if defined(WIN32) || defined(MS_WINDOWS)
242 #define _USE_MATH_DEFINES
243 #endif
244 #include <math.h>
245 #define __PYX_HAVE__espressomd__interactions
246 #define __PYX_HAVE_API__espressomd__interactions
247 #include "grid.hpp"
248 #include "string.h"
249 #include "stdio.h"
250 #include "stdlib.h"
251 #include "numpy/arrayobject.h"
252 #include "numpy/ufuncobject.h"
253 #include "utils.hpp"
254 #include "interaction_data.hpp"
255 #include "lj.hpp"
256 #include "forcecap.hpp"
257 #include "ljgen.hpp"
258 #include "fene.hpp"
259 #include "harmonic.hpp"
260 #include "dihedral.hpp"
261 #include "angle_harmonic.hpp"
262 #include "rattle.hpp"
263 #include "angle_cosine.hpp"
264 #include "angle_cossquare.hpp"
265 #include "subt_lj.hpp"
272 #include "harmonic_dumbbell.hpp"
273 #include "tab.hpp"
274 #include "overlap.hpp"
275 #ifdef _OPENMP
276 #include <omp.h>
277 #endif /* _OPENMP */
278 
279 #ifdef PYREX_WITHOUT_ASSERTIONS
280 #define CYTHON_WITHOUT_ASSERTIONS
281 #endif
282 
283 #ifndef CYTHON_UNUSED
284 # if defined(__GNUC__)
285 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
286 # define CYTHON_UNUSED __attribute__ ((__unused__))
287 # else
288 # define CYTHON_UNUSED
289 # endif
290 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
291 # define CYTHON_UNUSED __attribute__ ((__unused__))
292 # else
293 # define CYTHON_UNUSED
294 # endif
295 #endif
296 typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding;
297  const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
298 
299 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
300 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
301 #define __PYX_DEFAULT_STRING_ENCODING ""
302 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
303 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
304 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) ( \
305  (sizeof(type) < sizeof(Py_ssize_t)) || \
306  (sizeof(type) > sizeof(Py_ssize_t) && \
307  likely(v < (type)PY_SSIZE_T_MAX || \
308  v == (type)PY_SSIZE_T_MAX) && \
309  (!is_signed || likely(v > (type)PY_SSIZE_T_MIN || \
310  v == (type)PY_SSIZE_T_MIN))) || \
311  (sizeof(type) == sizeof(Py_ssize_t) && \
312  (is_signed || likely(v < (type)PY_SSIZE_T_MAX || \
313  v == (type)PY_SSIZE_T_MAX))) )
314 static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*);
315 static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
316 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
317 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
318 #define __Pyx_PyBytes_FromString PyBytes_FromString
319 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
320 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
321 #if PY_MAJOR_VERSION < 3
322  #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
323  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
324 #else
325  #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
326  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
327 #endif
328 #define __Pyx_PyObject_AsSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
329 #define __Pyx_PyObject_AsUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
330 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
331 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
332 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
333 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
334 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
335 #if PY_MAJOR_VERSION < 3
336 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
337 {
338  const Py_UNICODE *u_end = u;
339  while (*u_end++) ;
340  return (size_t)(u_end - u - 1);
341 }
342 #else
343 #define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
344 #endif
345 #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
346 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
347 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
348 #define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
349 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
350 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
351 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
352 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
353 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
354 #if CYTHON_COMPILING_IN_CPYTHON
355 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
356 #else
357 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
358 #endif
359 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
360 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
361 static int __Pyx_sys_getdefaultencoding_not_ascii;
362 static int __Pyx_init_sys_getdefaultencoding_params(void) {
363  PyObject* sys;
364  PyObject* default_encoding = NULL;
365  PyObject* ascii_chars_u = NULL;
366  PyObject* ascii_chars_b = NULL;
367  const char* default_encoding_c;
368  sys = PyImport_ImportModule("sys");
369  if (!sys) goto bad;
370  default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
371  Py_DECREF(sys);
372  if (!default_encoding) goto bad;
373  default_encoding_c = PyBytes_AsString(default_encoding);
374  if (!default_encoding_c) goto bad;
375  if (strcmp(default_encoding_c, "ascii") == 0) {
376  __Pyx_sys_getdefaultencoding_not_ascii = 0;
377  } else {
378  char ascii_chars[128];
379  int c;
380  for (c = 0; c < 128; c++) {
381  ascii_chars[c] = c;
382  }
383  __Pyx_sys_getdefaultencoding_not_ascii = 1;
384  ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
385  if (!ascii_chars_u) goto bad;
386  ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
387  if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
388  PyErr_Format(
389  PyExc_ValueError,
390  "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
391  default_encoding_c);
392  goto bad;
393  }
394  Py_DECREF(ascii_chars_u);
395  Py_DECREF(ascii_chars_b);
396  }
397  Py_DECREF(default_encoding);
398  return 0;
399 bad:
400  Py_XDECREF(default_encoding);
401  Py_XDECREF(ascii_chars_u);
402  Py_XDECREF(ascii_chars_b);
403  return -1;
404 }
405 #endif
406 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
407 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
408 #else
409 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
410 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
411 static char* __PYX_DEFAULT_STRING_ENCODING;
412 static int __Pyx_init_sys_getdefaultencoding_params(void) {
413  PyObject* sys;
414  PyObject* default_encoding = NULL;
415  char* default_encoding_c;
416  sys = PyImport_ImportModule("sys");
417  if (!sys) goto bad;
418  default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
419  Py_DECREF(sys);
420  if (!default_encoding) goto bad;
421  default_encoding_c = PyBytes_AsString(default_encoding);
422  if (!default_encoding_c) goto bad;
423  __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
424  if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
425  strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
426  Py_DECREF(default_encoding);
427  return 0;
428 bad:
429  Py_XDECREF(default_encoding);
430  return -1;
431 }
432 #endif
433 #endif
434 
435 
436 /* Test for GCC > 2.95 */
437 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
438  #define likely(x) __builtin_expect(!!(x), 1)
439  #define unlikely(x) __builtin_expect(!!(x), 0)
440 #else /* !__GNUC__ or GCC < 2.95 */
441  #define likely(x) (x)
442  #define unlikely(x) (x)
443 #endif /* __GNUC__ */
444 
445 static PyObject *__pyx_m;
446 static PyObject *__pyx_d;
447 static PyObject *__pyx_b;
448 static PyObject *__pyx_empty_tuple;
449 static PyObject *__pyx_empty_bytes;
450 static int __pyx_lineno;
451 static int __pyx_clineno = 0;
452 static const char * __pyx_cfilenm= __FILE__;
453 static const char *__pyx_filename;
454 
455 #if !defined(CYTHON_CCOMPLEX)
456  #if defined(__cplusplus)
457  #define CYTHON_CCOMPLEX 1
458  #elif defined(_Complex_I)
459  #define CYTHON_CCOMPLEX 1
460  #else
461  #define CYTHON_CCOMPLEX 0
462  #endif
463 #endif
464 #if CYTHON_CCOMPLEX
465  #ifdef __cplusplus
466  #include <complex>
467  #else
468  #include <complex.h>
469  #endif
470 #endif
471 #if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
472  #undef _Complex_I
473  #define _Complex_I 1.0fj
474 #endif
475 
476 
477 static const char *__pyx_f[] = {
478  "espressomd/interactions.pyx",
479  "__init__.pxd",
480  "type.pxd",
481 };
482 
483 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":726
484  * # in Cython to enable them only on the right systems.
485  *
486  * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
487  * ctypedef npy_int16 int16_t
488  * ctypedef npy_int32 int32_t
489  */
490 typedef npy_int8 __pyx_t_5numpy_int8_t;
491 
492 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":727
493  *
494  * ctypedef npy_int8 int8_t
495  * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
496  * ctypedef npy_int32 int32_t
497  * ctypedef npy_int64 int64_t
498  */
499 typedef npy_int16 __pyx_t_5numpy_int16_t;
500 
501 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":728
502  * ctypedef npy_int8 int8_t
503  * ctypedef npy_int16 int16_t
504  * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
505  * ctypedef npy_int64 int64_t
506  * #ctypedef npy_int96 int96_t
507  */
508 typedef npy_int32 __pyx_t_5numpy_int32_t;
509 
510 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":729
511  * ctypedef npy_int16 int16_t
512  * ctypedef npy_int32 int32_t
513  * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
514  * #ctypedef npy_int96 int96_t
515  * #ctypedef npy_int128 int128_t
516  */
517 typedef npy_int64 __pyx_t_5numpy_int64_t;
518 
519 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":733
520  * #ctypedef npy_int128 int128_t
521  *
522  * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
523  * ctypedef npy_uint16 uint16_t
524  * ctypedef npy_uint32 uint32_t
525  */
526 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
527 
528 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":734
529  *
530  * ctypedef npy_uint8 uint8_t
531  * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
532  * ctypedef npy_uint32 uint32_t
533  * ctypedef npy_uint64 uint64_t
534  */
535 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
536 
537 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":735
538  * ctypedef npy_uint8 uint8_t
539  * ctypedef npy_uint16 uint16_t
540  * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
541  * ctypedef npy_uint64 uint64_t
542  * #ctypedef npy_uint96 uint96_t
543  */
544 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
545 
546 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":736
547  * ctypedef npy_uint16 uint16_t
548  * ctypedef npy_uint32 uint32_t
549  * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
550  * #ctypedef npy_uint96 uint96_t
551  * #ctypedef npy_uint128 uint128_t
552  */
553 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
554 
555 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":740
556  * #ctypedef npy_uint128 uint128_t
557  *
558  * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
559  * ctypedef npy_float64 float64_t
560  * #ctypedef npy_float80 float80_t
561  */
562 typedef npy_float32 __pyx_t_5numpy_float32_t;
563 
564 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":741
565  *
566  * ctypedef npy_float32 float32_t
567  * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
568  * #ctypedef npy_float80 float80_t
569  * #ctypedef npy_float128 float128_t
570  */
571 typedef npy_float64 __pyx_t_5numpy_float64_t;
572 
573 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":750
574  * # The int types are mapped a bit surprising --
575  * # numpy.int corresponds to 'l' and numpy.long to 'q'
576  * ctypedef npy_long int_t # <<<<<<<<<<<<<<
577  * ctypedef npy_longlong long_t
578  * ctypedef npy_longlong longlong_t
579  */
580 typedef npy_long __pyx_t_5numpy_int_t;
581 
582 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":751
583  * # numpy.int corresponds to 'l' and numpy.long to 'q'
584  * ctypedef npy_long int_t
585  * ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
586  * ctypedef npy_longlong longlong_t
587  *
588  */
589 typedef npy_longlong __pyx_t_5numpy_long_t;
590 
591 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":752
592  * ctypedef npy_long int_t
593  * ctypedef npy_longlong long_t
594  * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
595  *
596  * ctypedef npy_ulong uint_t
597  */
598 typedef npy_longlong __pyx_t_5numpy_longlong_t;
599 
600 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":754
601  * ctypedef npy_longlong longlong_t
602  *
603  * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
604  * ctypedef npy_ulonglong ulong_t
605  * ctypedef npy_ulonglong ulonglong_t
606  */
607 typedef npy_ulong __pyx_t_5numpy_uint_t;
608 
609 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":755
610  *
611  * ctypedef npy_ulong uint_t
612  * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
613  * ctypedef npy_ulonglong ulonglong_t
614  *
615  */
616 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
617 
618 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":756
619  * ctypedef npy_ulong uint_t
620  * ctypedef npy_ulonglong ulong_t
621  * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
622  *
623  * ctypedef npy_intp intp_t
624  */
625 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
626 
627 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":758
628  * ctypedef npy_ulonglong ulonglong_t
629  *
630  * ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
631  * ctypedef npy_uintp uintp_t
632  *
633  */
634 typedef npy_intp __pyx_t_5numpy_intp_t;
635 
636 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":759
637  *
638  * ctypedef npy_intp intp_t
639  * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
640  *
641  * ctypedef npy_double float_t
642  */
643 typedef npy_uintp __pyx_t_5numpy_uintp_t;
644 
645 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":761
646  * ctypedef npy_uintp uintp_t
647  *
648  * ctypedef npy_double float_t # <<<<<<<<<<<<<<
649  * ctypedef npy_double double_t
650  * ctypedef npy_longdouble longdouble_t
651  */
652 typedef npy_double __pyx_t_5numpy_float_t;
653 
654 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":762
655  *
656  * ctypedef npy_double float_t
657  * ctypedef npy_double double_t # <<<<<<<<<<<<<<
658  * ctypedef npy_longdouble longdouble_t
659  *
660  */
661 typedef npy_double __pyx_t_5numpy_double_t;
662 
663 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":763
664  * ctypedef npy_double float_t
665  * ctypedef npy_double double_t
666  * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
667  *
668  * ctypedef npy_cfloat cfloat_t
669  */
670 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
671 #if CYTHON_CCOMPLEX
672  #ifdef __cplusplus
673  typedef ::std::complex< float > __pyx_t_float_complex;
674  #else
675  typedef float _Complex __pyx_t_float_complex;
676  #endif
677 #else
678  typedef struct { float real, imag; } __pyx_t_float_complex;
679 #endif
680 
681 #if CYTHON_CCOMPLEX
682  #ifdef __cplusplus
683  typedef ::std::complex< double > __pyx_t_double_complex;
684  #else
685  typedef double _Complex __pyx_t_double_complex;
686  #endif
687 #else
688  typedef struct { double real, imag; } __pyx_t_double_complex;
689 #endif
690 
691 
692 /*--- Type declarations ---*/
693 struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction;
694 struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction;
695 struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction;
696 struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions;
697 struct __pyx_obj_10espressomd_12interactions_BondedInteraction;
698 
699 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":765
700  * ctypedef npy_longdouble longdouble_t
701  *
702  * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
703  * ctypedef npy_cdouble cdouble_t
704  * ctypedef npy_clongdouble clongdouble_t
705  */
706 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
707 
708 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":766
709  *
710  * ctypedef npy_cfloat cfloat_t
711  * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
712  * ctypedef npy_clongdouble clongdouble_t
713  *
714  */
715 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
716 
717 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":767
718  * ctypedef npy_cfloat cfloat_t
719  * ctypedef npy_cdouble cdouble_t
720  * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
721  *
722  * ctypedef npy_cdouble complex_t
723  */
724 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
725 
726 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":769
727  * ctypedef npy_clongdouble clongdouble_t
728  *
729  * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
730  *
731  * cdef inline object PyArray_MultiIterNew1(a):
732  */
733 typedef npy_cdouble __pyx_t_5numpy_complex_t;
734 
735 /* "espressomd/interactions.pyx":22
736  * # Non-bonded interactions
737  *
738  * cdef class NonBondedInteraction(object): # <<<<<<<<<<<<<<
739  *
740  * cdef public object _partTypes
741  */
742 struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction {
743  PyObject_HEAD
744  PyObject *_partTypes;
745  PyObject *_params;
746 };
747 
748 
749 /* "espressomd/interactions.pyx":147
750  * # Lennard Jones
751  *
752  * cdef class LennardJonesInteraction(NonBondedInteraction): # <<<<<<<<<<<<<<
753  * if LENNARD_JONES == 1:
754  * def validateParams(self):
755  */
756 struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction {
757  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction __pyx_base;
758 };
759 
760 
761 /* "espressomd/interactions.pyx":209
762  * # Generic Lennard Jones
763  *
764  * cdef class GenericLennardJonesInteraction(NonBondedInteraction): # <<<<<<<<<<<<<<
765  * if LENNARD_JONES_GENERIC == 1:
766  * def validateParams(self):
767  */
768 struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction {
769  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction __pyx_base;
770 };
771 
772 
773 /* "espressomd/interactions.pyx":324
774  *
775  *
776  * cdef class NonBondedInteractions: # <<<<<<<<<<<<<<
777  * """Access to non-bonded interaction parameters via [i,j], where i,j are particle
778  * types. Returns NonBondedInteractionHandle.
779  */
780 struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions {
781  PyObject_HEAD
782 };
783 
784 
785 /* "espressomd/interactions.pyx":347
786  *
787  *
788  * cdef class BondedInteraction(object): # <<<<<<<<<<<<<<
789  * def __init__(self, *args, **kwargs):
790  * """Either called with an interaction id, in which case, the interaction will represent
791  */
792 struct __pyx_obj_10espressomd_12interactions_BondedInteraction {
793  PyObject_HEAD
794 };
795 
796 
797 /* --- Runtime support code (head) --- */
798 #ifndef CYTHON_REFNANNY
799  #define CYTHON_REFNANNY 0
800 #endif
801 #if CYTHON_REFNANNY
802  typedef struct {
803  void (*INCREF)(void*, PyObject*, int);
804  void (*DECREF)(void*, PyObject*, int);
805  void (*GOTREF)(void*, PyObject*, int);
806  void (*GIVEREF)(void*, PyObject*, int);
807  void* (*SetupContext)(const char*, int, const char*);
808  void (*FinishContext)(void**);
809  } __Pyx_RefNannyAPIStruct;
810  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
811  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
812  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
813 #ifdef WITH_THREAD
814  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
815  if (acquire_gil) { \
816  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
817  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
818  PyGILState_Release(__pyx_gilstate_save); \
819  } else { \
820  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
821  }
822 #else
823  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
824  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
825 #endif
826  #define __Pyx_RefNannyFinishContext() \
827  __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
828  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
829  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
830  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
831  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
832  #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
833  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
834  #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
835  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
836 #else
837  #define __Pyx_RefNannyDeclarations
838  #define __Pyx_RefNannySetupContext(name, acquire_gil)
839  #define __Pyx_RefNannyFinishContext()
840  #define __Pyx_INCREF(r) Py_INCREF(r)
841  #define __Pyx_DECREF(r) Py_DECREF(r)
842  #define __Pyx_GOTREF(r)
843  #define __Pyx_GIVEREF(r)
844  #define __Pyx_XINCREF(r) Py_XINCREF(r)
845  #define __Pyx_XDECREF(r) Py_XDECREF(r)
846  #define __Pyx_XGOTREF(r)
847  #define __Pyx_XGIVEREF(r)
848 #endif
849 #define __Pyx_XDECREF_SET(r, v) do { \
850  PyObject *tmp = (PyObject *) r; \
851  r = v; __Pyx_XDECREF(tmp); \
852  } while (0)
853 #define __Pyx_DECREF_SET(r, v) do { \
854  PyObject *tmp = (PyObject *) r; \
855  r = v; __Pyx_DECREF(tmp); \
856  } while (0)
857 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
858 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
859 
860 #if CYTHON_COMPILING_IN_CPYTHON
861 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
862  PyTypeObject* tp = Py_TYPE(obj);
863  if (likely(tp->tp_getattro))
864  return tp->tp_getattro(obj, attr_name);
865 #if PY_MAJOR_VERSION < 3
866  if (likely(tp->tp_getattr))
867  return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
868 #endif
869  return PyObject_GetAttr(obj, attr_name);
870 }
871 #else
872 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
873 #endif
874 
875 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
876 
877 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);
878 
879 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
880  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
881  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) : \
882  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) : \
883  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
884 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
885  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
886  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
887  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
888 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
889  int wraparound, int boundscheck);
890 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck) \
891  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ? \
892  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) : \
893  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
894 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
895  int wraparound, int boundscheck);
896 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
897 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
898  int is_list, int wraparound, int boundscheck);
899 
900 #if CYTHON_COMPILING_IN_CPYTHON
901 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
902 #else
903 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
904 #endif
905 
906 #if CYTHON_COMPILING_IN_CPYTHON
907 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
908 #endif
909 
910 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
911 
912 #if CYTHON_COMPILING_IN_CPYTHON
913 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
914 #else
915 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
916 #endif
917 
918 static CYTHON_INLINE int __Pyx_PyDict_Contains(PyObject* item, PyObject* dict, int eq) {
919  int result = PyDict_Contains(dict, item);
920  return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
921 }
922 
923 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb);
924 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb);
925 
926 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
927 
928 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
929  Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
930 
931 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
932 
933 static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d);
934 
935 static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
936  int result = PySequence_Contains(seq, item);
937  return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
938 }
939 
940 #include <string.h>
941 
942 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
943 
944 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
945 
946 #if PY_MAJOR_VERSION >= 3
947 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
948 #else
949 #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
950 #endif
951 
952 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
953 
954 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
955  PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
956  const char* function_name);
957 
958 #if CYTHON_COMPILING_IN_CPYTHON
959 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o,n,NULL)
960 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
961  PyTypeObject* tp = Py_TYPE(obj);
962  if (likely(tp->tp_setattro))
963  return tp->tp_setattro(obj, attr_name, value);
964 #if PY_MAJOR_VERSION < 3
965  if (likely(tp->tp_setattr))
966  return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
967 #endif
968  return PyObject_SetAttr(obj, attr_name, value);
969 }
970 #else
971 #define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
972 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
973 #endif
974 
975 static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);
976 
977 #if PY_MAJOR_VERSION >= 3
978 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
979  PyObject *value;
980  value = PyDict_GetItemWithError(d, key);
981  if (unlikely(!value)) {
982  if (!PyErr_Occurred()) {
983  PyObject* args = PyTuple_Pack(1, key);
984  if (likely(args))
985  PyErr_SetObject(PyExc_KeyError, args);
986  Py_XDECREF(args);
987  }
988  return NULL;
989  }
990  Py_INCREF(value);
991  return value;
992 }
993 #else
994  #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
995 #endif
996 
997 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
998 
999 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
1000 
1001 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
1002 
1003 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
1004 
1005 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
1006 
1007 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
1008 
1009 #define __Pyx_CyFunction_USED 1
1010 #include <structmember.h>
1011 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
1012 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
1013 #define __Pyx_CYFUNCTION_CCLASS 0x04
1014 #define __Pyx_CyFunction_GetClosure(f) \
1015  (((__pyx_CyFunctionObject *) (f))->func_closure)
1016 #define __Pyx_CyFunction_GetClassObj(f) \
1017  (((__pyx_CyFunctionObject *) (f))->func_classobj)
1018 #define __Pyx_CyFunction_Defaults(type, f) \
1019  ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
1020 #define __Pyx_CyFunction_SetDefaultsGetter(f, g) \
1021  ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
1022 typedef struct {
1023  PyCFunctionObject func;
1024 #if PY_VERSION_HEX < 0x030500A0
1025  PyObject *func_weakreflist;
1026 #endif
1027  PyObject *func_dict;
1028  PyObject *func_name;
1029  PyObject *func_qualname;
1030  PyObject *func_doc;
1031  PyObject *func_globals;
1032  PyObject *func_code;
1033  PyObject *func_closure;
1034  PyObject *func_classobj;
1035  void *defaults;
1036  int defaults_pyobjects;
1037  int flags;
1038  PyObject *defaults_tuple;
1039  PyObject *defaults_kwdict;
1040  PyObject *(*defaults_getter)(PyObject *);
1041  PyObject *func_annotations;
1042 } __pyx_CyFunctionObject;
1043 static PyTypeObject *__pyx_CyFunctionType = 0;
1044 #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code) \
1045  __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code)
1046 static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
1047  int flags, PyObject* qualname,
1048  PyObject *self,
1049  PyObject *module, PyObject *globals,
1050  PyObject* code);
1051 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
1052  size_t size,
1053  int pyobjects);
1054 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
1055  PyObject *tuple);
1056 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
1057  PyObject *dict);
1058 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
1059  PyObject *dict);
1060 static int __Pyx_CyFunction_init(void);
1061 
1062 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
1063  PyObject *mkw, PyObject *modname, PyObject *doc);
1064 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
1065  PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
1066 
1067 typedef struct {
1068  int code_line;
1069  PyCodeObject* code_object;
1070 } __Pyx_CodeObjectCacheEntry;
1071 struct __Pyx_CodeObjectCache {
1072  int count;
1073  int max_count;
1074  __Pyx_CodeObjectCacheEntry* entries;
1075 };
1076 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
1077 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
1078 static PyCodeObject *__pyx_find_code_object(int code_line);
1079 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
1080 
1081 static void __Pyx_AddTraceback(const char *funcname, int c_line,
1082  int py_line, const char *filename);
1083 
1084 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
1085 
1086 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
1087 
1088 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
1089 
1090 static int __Pyx_Print(PyObject*, PyObject *, int);
1091 #if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
1092 static PyObject* __pyx_print = 0;
1093 static PyObject* __pyx_print_kwargs = 0;
1094 #endif
1095 
1096 static int __Pyx_PrintOne(PyObject* stream, PyObject *o);
1097 
1098 #if CYTHON_CCOMPLEX
1099  #ifdef __cplusplus
1100  #define __Pyx_CREAL(z) ((z).real())
1101  #define __Pyx_CIMAG(z) ((z).imag())
1102  #else
1103  #define __Pyx_CREAL(z) (__real__(z))
1104  #define __Pyx_CIMAG(z) (__imag__(z))
1105  #endif
1106 #else
1107  #define __Pyx_CREAL(z) ((z).real)
1108  #define __Pyx_CIMAG(z) ((z).imag)
1109 #endif
1110 #if (defined(_WIN32) || defined(__clang__)) && defined(__cplusplus) && CYTHON_CCOMPLEX
1111  #define __Pyx_SET_CREAL(z,x) ((z).real(x))
1112  #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
1113 #else
1114  #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
1115  #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
1116 #endif
1117 
1118 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
1119 
1120 #if CYTHON_CCOMPLEX
1121  #define __Pyx_c_eqf(a, b) ((a)==(b))
1122  #define __Pyx_c_sumf(a, b) ((a)+(b))
1123  #define __Pyx_c_difff(a, b) ((a)-(b))
1124  #define __Pyx_c_prodf(a, b) ((a)*(b))
1125  #define __Pyx_c_quotf(a, b) ((a)/(b))
1126  #define __Pyx_c_negf(a) (-(a))
1127  #ifdef __cplusplus
1128  #define __Pyx_c_is_zerof(z) ((z)==(float)0)
1129  #define __Pyx_c_conjf(z) (::std::conj(z))
1130  #if 1
1131  #define __Pyx_c_absf(z) (::std::abs(z))
1132  #define __Pyx_c_powf(a, b) (::std::pow(a, b))
1133  #endif
1134  #else
1135  #define __Pyx_c_is_zerof(z) ((z)==0)
1136  #define __Pyx_c_conjf(z) (conjf(z))
1137  #if 1
1138  #define __Pyx_c_absf(z) (cabsf(z))
1139  #define __Pyx_c_powf(a, b) (cpowf(a, b))
1140  #endif
1141  #endif
1142 #else
1143  static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex);
1144  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex);
1145  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex);
1146  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex);
1147  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex);
1148  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex);
1149  static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex);
1150  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex);
1151  #if 1
1152  static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex);
1153  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex, __pyx_t_float_complex);
1154  #endif
1155 #endif
1156 
1157 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
1158 
1159 #if CYTHON_CCOMPLEX
1160  #define __Pyx_c_eq(a, b) ((a)==(b))
1161  #define __Pyx_c_sum(a, b) ((a)+(b))
1162  #define __Pyx_c_diff(a, b) ((a)-(b))
1163  #define __Pyx_c_prod(a, b) ((a)*(b))
1164  #define __Pyx_c_quot(a, b) ((a)/(b))
1165  #define __Pyx_c_neg(a) (-(a))
1166  #ifdef __cplusplus
1167  #define __Pyx_c_is_zero(z) ((z)==(double)0)
1168  #define __Pyx_c_conj(z) (::std::conj(z))
1169  #if 1
1170  #define __Pyx_c_abs(z) (::std::abs(z))
1171  #define __Pyx_c_pow(a, b) (::std::pow(a, b))
1172  #endif
1173  #else
1174  #define __Pyx_c_is_zero(z) ((z)==0)
1175  #define __Pyx_c_conj(z) (conj(z))
1176  #if 1
1177  #define __Pyx_c_abs(z) (cabs(z))
1178  #define __Pyx_c_pow(a, b) (cpow(a, b))
1179  #endif
1180  #endif
1181 #else
1182  static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex);
1183  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex);
1184  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex);
1185  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex);
1186  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex);
1187  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex);
1188  static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex);
1189  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex);
1190  #if 1
1191  static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex);
1192  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex, __pyx_t_double_complex);
1193  #endif
1194 #endif
1195 
1196 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
1197 
1198 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
1199 
1200 static int __Pyx_check_binary_version(void);
1201 
1202 #if !defined(__Pyx_PyIdentifier_FromString)
1203 #if PY_MAJOR_VERSION < 3
1204  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
1205 #else
1206  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
1207 #endif
1208 #endif
1209 
1210 static PyObject *__Pyx_ImportModule(const char *name);
1211 
1212 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);
1213 
1214 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
1215 
1216 
1217 /* Module declarations from 'espressomd._system' */
1218 
1219 /* Module declarations from 'cpython.buffer' */
1220 
1221 /* Module declarations from 'cpython.ref' */
1222 
1223 /* Module declarations from 'libc.string' */
1224 
1225 /* Module declarations from 'libc.stdio' */
1226 
1227 /* Module declarations from 'cpython.object' */
1228 
1229 /* Module declarations from '__builtin__' */
1230 
1231 /* Module declarations from 'cpython.type' */
1232 static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
1233 
1234 /* Module declarations from 'libc.stdlib' */
1235 
1236 /* Module declarations from 'numpy' */
1237 
1238 /* Module declarations from 'numpy' */
1239 static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
1240 static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
1241 static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
1242 static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
1243 static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
1244 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
1245 
1246 /* Module declarations from 'espressomd.utils' */
1247 
1248 /* Module declarations from 'espressomd.interactions' */
1249 static PyTypeObject *__pyx_ptype_10espressomd_12interactions_NonBondedInteraction = 0;
1250 static PyTypeObject *__pyx_ptype_10espressomd_12interactions_LennardJonesInteraction = 0;
1251 static PyTypeObject *__pyx_ptype_10espressomd_12interactions_GenericLennardJonesInteraction = 0;
1252 static PyTypeObject *__pyx_ptype_10espressomd_12interactions_NonBondedInteractions = 0;
1253 static PyTypeObject *__pyx_ptype_10espressomd_12interactions_BondedInteraction = 0;
1254 #define __Pyx_MODULE_NAME "espressomd.interactions"
1255 int __pyx_module_is_main_espressomd__interactions = 0;
1256 
1257 /* Implementation of 'espressomd.interactions' */
1258 static PyObject *__pyx_builtin_object;
1259 static PyObject *__pyx_builtin_ValueError;
1260 static PyObject *__pyx_builtin_Exception;
1261 static PyObject *__pyx_builtin_TypeError;
1262 static PyObject *__pyx_builtin_range;
1263 static PyObject *__pyx_builtin_RuntimeError;
1264 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction___init__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
1265 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_2isValid(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1266 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_4getParams(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1267 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_6setParams(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_p); /* proto */
1268 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_8validateParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1269 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_getParamsFromEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1270 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_12_setParamsInEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1271 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_14defaultParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1272 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_16isActive(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1273 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_18typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1274 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_20validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1275 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_22requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1276 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes___get__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1277 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_2__set__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
1278 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_4__del__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self); /* proto */
1279 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_validateParams(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1280 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_2_getParamsFromEsCore(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1281 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_4isActive(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1282 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_6_setParamsInEsCore(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1283 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_8defaultParams(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1284 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_10typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1285 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_12validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1286 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_14requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self); /* proto */
1287 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_validateParams(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1288 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_2_getParamsFromEsCore(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1289 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_4isActive(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1290 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_6_setParamsInEsCore(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1291 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_8defaultParams(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1292 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_10typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1293 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_12validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1294 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_14requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self); /* proto */
1295 static PyObject *__pyx_pf_10espressomd_12interactions_26NonBondedInteractionHandle___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v__type1, PyObject *__pyx_v__type2); /* proto */
1296 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions___getitem__(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
1297 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions_2setForceCap(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self, PyObject *__pyx_v_cap); /* proto */
1298 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions_4getForceCap(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self); /* proto */
1299 static int __pyx_pf_10espressomd_12interactions_17BondedInteraction___init__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
1300 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_2isValid(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1301 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_6params___get__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1302 static int __pyx_pf_10espressomd_12interactions_17BondedInteraction_6params_2__set__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self, PyObject *__pyx_v_p); /* proto */
1303 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_4validateParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1304 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_6_getParamsFromEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1305 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_8_setParamsInEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1306 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_10setDefaultParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1307 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_12typeNumber(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1308 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_14typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1309 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_16validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1310 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_18requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self); /* proto */
1311 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
1312 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_2typeNumber(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1313 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_4typeName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1314 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_6validKeys(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1315 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_8requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1316 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_10setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1317 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_12_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1318 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_14_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1319 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1320 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1321 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1322 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1323 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1324 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1325 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1326 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1327 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1328 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1329 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1330 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1331 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1332 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1333 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1334 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1335 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1336 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1337 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1338 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1339 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1340 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1341 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1342 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1343 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1344 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1345 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1346 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1347 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1348 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1349 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1350 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1351 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1352 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1353 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1354 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1355 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1356 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1357 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1358 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1359 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1360 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1361 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1362 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1363 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1364 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1365 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1366 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1367 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1368 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1369 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1370 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1371 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1372 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1373 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1374 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1375 static PyObject *__pyx_pf_10espressomd_12interactions_14Angle_Harmonic_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1376 static PyObject *__pyx_pf_10espressomd_12interactions_typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1377 static PyObject *__pyx_pf_10espressomd_12interactions_2validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1378 static PyObject *__pyx_pf_10espressomd_12interactions_4requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1379 static PyObject *__pyx_pf_10espressomd_12interactions_6setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1380 static PyObject *__pyx_pf_10espressomd_12interactions_8_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1381 static PyObject *__pyx_pf_10espressomd_12interactions_10_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1382 static PyObject *__pyx_pf_10espressomd_12interactions_12Angle_Cosine_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1383 static PyObject *__pyx_pf_10espressomd_12interactions_12typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1384 static PyObject *__pyx_pf_10espressomd_12interactions_14validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1385 static PyObject *__pyx_pf_10espressomd_12interactions_16requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1386 static PyObject *__pyx_pf_10espressomd_12interactions_18setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1387 static PyObject *__pyx_pf_10espressomd_12interactions_20_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1388 static PyObject *__pyx_pf_10espressomd_12interactions_22_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1389 static PyObject *__pyx_pf_10espressomd_12interactions_15Angle_Cossquare_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1390 static PyObject *__pyx_pf_10espressomd_12interactions_24typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1391 static PyObject *__pyx_pf_10espressomd_12interactions_26validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1392 static PyObject *__pyx_pf_10espressomd_12interactions_28requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1393 static PyObject *__pyx_pf_10espressomd_12interactions_30setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1394 static PyObject *__pyx_pf_10espressomd_12interactions_32_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1395 static PyObject *__pyx_pf_10espressomd_12interactions_34_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1396 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1397 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1398 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1399 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1400 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1401 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1402 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1403 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1404 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1405 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1406 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1407 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1408 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1409 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1410 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1411 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1412 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1413 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1414 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1415 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1416 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1417 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1418 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1419 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1420 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1421 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1422 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1423 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1424 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1425 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1426 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1427 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1428 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1429 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1430 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1431 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1432 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1433 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1434 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
1435 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1436 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1437 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
1438 static PyObject *__pyx_pf_10espressomd_12interactions_18BondedInteractions___getitem__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
1439 static PyObject *__pyx_pf_10espressomd_12interactions_18BondedInteractions_2__setitem__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
1440 static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
1441 static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
1442 static PyObject *__pyx_tp_new_10espressomd_12interactions_NonBondedInteraction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
1443 static PyObject *__pyx_tp_new_10espressomd_12interactions_LennardJonesInteraction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
1444 static PyObject *__pyx_tp_new_10espressomd_12interactions_GenericLennardJonesInteraction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
1445 static PyObject *__pyx_tp_new_10espressomd_12interactions_NonBondedInteractions(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
1446 static PyObject *__pyx_tp_new_10espressomd_12interactions_BondedInteraction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
1447 static char __pyx_k_B[] = "B";
1448 static char __pyx_k_H[] = "H";
1449 static char __pyx_k_I[] = "I";
1450 static char __pyx_k_L[] = "L";
1451 static char __pyx_k_O[] = "O";
1452 static char __pyx_k_Q[] = "Q";
1453 static char __pyx_k_b[] = "b";
1454 static char __pyx_k_d[] = "d";
1455 static char __pyx_k_f[] = "f";
1456 static char __pyx_k_g[] = "g";
1457 static char __pyx_k_h[] = "h";
1458 static char __pyx_k_i[] = "i";
1459 static char __pyx_k_k[] = "k";
1460 static char __pyx_k_l[] = "l";
1461 static char __pyx_k_q[] = "q";
1462 static char __pyx_k_r[] = "r";
1463 static char __pyx_k_V0[] = "V0";
1464 static char __pyx_k_Zd[] = "Zd";
1465 static char __pyx_k_Zf[] = "Zf";
1466 static char __pyx_k_Zg[] = "Zg";
1467 static char __pyx_k_b1[] = "b1";
1468 static char __pyx_k_b2[] = "b2";
1469 static char __pyx_k_e1[] = "e1";
1470 static char __pyx_k_e2[] = "e2";
1471 static char __pyx_k_k1[] = "k1";
1472 static char __pyx_k_k2[] = "k2";
1473 static char __pyx_k_kb[] = "kb";
1474 static char __pyx_k_ks[] = "ks";
1475 static char __pyx_k_kv[] = "kv";
1476 static char __pyx_k_r0[] = "r0";
1477 static char __pyx_k__43[] = "";
1478 static char __pyx_k__67[] = " ";
1479 static char __pyx_k_doc[] = "__doc__";
1480 static char __pyx_k_end[] = "end";
1481 static char __pyx_k_k_2[] = "k'";
1482 static char __pyx_k_key[] = "key";
1483 static char __pyx_k_min[] = "min";
1484 static char __pyx_k_r_0[] = "r_0";
1485 static char __pyx_k_str[] = "__str__";
1486 static char __pyx_k_A0_g[] = "A0_g";
1487 static char __pyx_k_A0_l[] = "A0_l";
1488 static char __pyx_k_FENE[] = "FENE";
1489 static char __pyx_k_args[] = "args";
1490 static char __pyx_k_auto[] = "auto";
1491 static char __pyx_k_bend[] = "bend";
1492 static char __pyx_k_file[] = "file";
1493 static char __pyx_k_init[] = "__init__";
1494 static char __pyx_k_ka_g[] = "ka_g";
1495 static char __pyx_k_ka_l[] = "ka_l";
1496 static char __pyx_k_keys[] = "keys";
1497 static char __pyx_k_main[] = "__main__";
1498 static char __pyx_k_mult[] = "mult";
1499 static char __pyx_k_name[] = "__name__";
1500 static char __pyx_k_phi0[] = "phi0";
1501 static char __pyx_k_self[] = "self";
1502 static char __pyx_k_test[] = "__test__";
1503 static char __pyx_k_type[] = "type";
1504 static char __pyx_k_RIGID[] = "RIGID";
1505 static char __pyx_k_delta[] = "delta";
1506 static char __pyx_k_kslin[] = "kslin";
1507 static char __pyx_k_phase[] = "phase";
1508 static char __pyx_k_print[] = "print";
1509 static char __pyx_k_r_cut[] = "r_cut";
1510 static char __pyx_k_range[] = "range";
1511 static char __pyx_k_shift[] = "shift";
1512 static char __pyx_k_sigma[] = "sigma";
1513 static char __pyx_k_type1[] = "_type1";
1514 static char __pyx_k_type2[] = "_type2";
1515 static char __pyx_k_value[] = "value";
1516 static char __pyx_k_bondId[] = "_bondId";
1517 static char __pyx_k_cutoff[] = "cutoff";
1518 static char __pyx_k_import[] = "__import__";
1519 static char __pyx_k_kwargs[] = "kwargs";
1520 static char __pyx_k_lambda[] = "lambda";
1521 static char __pyx_k_maxval[] = "maxval";
1522 static char __pyx_k_minval[] = "minval";
1523 static char __pyx_k_module[] = "__module__";
1524 static char __pyx_k_mult_2[] = "mult'";
1525 static char __pyx_k_name_2[] = "name";
1526 static char __pyx_k_object[] = "object";
1527 static char __pyx_k_offset[] = "offset";
1528 static char __pyx_k_params[] = "_params";
1529 static char __pyx_k_update[] = "update";
1530 static char __pyx_k_SUBT_LJ[] = "SUBT_LJ";
1531 static char __pyx_k_Subt_Lj[] = "Subt_Lj";
1532 static char __pyx_k_VIRTUAL[] = "VIRTUAL";
1533 static char __pyx_k_Virtual[] = "Virtual";
1534 static char __pyx_k_class_s[] = "__class_s__";
1535 static char __pyx_k_d_r_max[] = "d_r_max";
1536 static char __pyx_k_epsilon[] = "epsilon";
1537 static char __pyx_k_getitem[] = "__getitem__";
1538 static char __pyx_k_npoints[] = "npoints";
1539 static char __pyx_k_prepare[] = "__prepare__";
1540 static char __pyx_k_setitem[] = "__setitem__";
1541 static char __pyx_k_type1_2[] = "type1";
1542 static char __pyx_k_type2_2[] = "type2";
1543 static char __pyx_k_DIHEDRAL[] = "DIHEDRAL";
1544 static char __pyx_k_Dihedral[] = "Dihedral";
1545 static char __pyx_k_FeneBond[] = "FeneBond";
1546 static char __pyx_k_HARMONIC[] = "HARMONIC";
1547 static char __pyx_k_bondId_2[] = "bondId";
1548 static char __pyx_k_bondType[] = "bondType";
1549 static char __pyx_k_filename[] = "filename";
1550 static char __pyx_k_isActive[] = "isActive";
1551 static char __pyx_k_params_2[] = "params";
1552 static char __pyx_k_qualname[] = "__qualname__";
1553 static char __pyx_k_typeName[] = "typeName";
1554 static char __pyx_k_Exception[] = "Exception";
1555 static char __pyx_k_RigidBond[] = "RigidBond";
1556 static char __pyx_k_TABULATED[] = "TABULATED";
1557 static char __pyx_k_Tabulated[] = "Tabulated";
1558 static char __pyx_k_TypeError[] = "TypeError";
1559 static char __pyx_k_bondClass[] = "bondClass";
1560 static char __pyx_k_metaclass[] = "__metaclass__";
1561 static char __pyx_k_validKeys[] = "validKeys";
1562 static char __pyx_k_OVERLAPPED[] = "OVERLAPPED";
1563 static char __pyx_k_Overlapped[] = "Overlapped";
1564 static char __pyx_k_ValueError[] = "ValueError";
1565 static char __pyx_k_typeNumber[] = "typeNumber";
1566 static char __pyx_k_invstepsize[] = "invstepsize";
1567 static char __pyx_k_ANGLE_COSINE[] = "ANGLE_COSINE";
1568 static char __pyx_k_Angle_Cosine[] = "Angle_Cosine";
1569 static char __pyx_k_Endangledist[] = "Endangledist";
1570 static char __pyx_k_HarmonicBond[] = "HarmonicBond";
1571 static char __pyx_k_LennardJones[] = "LennardJones";
1572 static char __pyx_k_RuntimeError[] = "RuntimeError";
1573 static char __pyx_k_VOLUME_FORCE[] = "VOLUME_FORCE";
1574 static char __pyx_k_Volume_Force[] = "Volume_Force";
1575 static char __pyx_k_lennardJones[] = "lennardJones";
1576 static char __pyx_k_overlap_type[] = "overlap_type";
1577 static char __pyx_k_requiredKeys[] = "requiredKeys";
1578 static char __pyx_k_BENDING_FORCE[] = "BENDING_FORCE";
1579 static char __pyx_k_Bending_Force[] = "Bending_Force";
1580 static char __pyx_k_defaultParams[] = "defaultParams";
1581 static char __pyx_k_ANGLE_HARMONIC[] = "ANGLE_HARMONIC";
1582 static char __pyx_k_Angle_Harmonic[] = "Angle_Harmonic";
1583 static char __pyx_k_validateParams[] = "validateParams";
1584 static char __pyx_k_ANGLE_COSSQUARE[] = "ANGLE_COSSQUARE";
1585 static char __pyx_k_Angle_Cossquare[] = "Angle_Cossquare";
1586 static char __pyx_k_AREA_FORCE_LOCAL[] = "AREA_FORCE_LOCAL";
1587 static char __pyx_k_Area_Force_Local[] = "Area_Force_Local";
1588 static char __pyx_k_STRETCHING_FORCE[] = "STRETCHING_FORCE";
1589 static char __pyx_k_STRETCHLIN_FORCE[] = "STRETCHLIN_FORCE";
1590 static char __pyx_k_Stretching_Force[] = "Stretching_Force";
1591 static char __pyx_k_Stretchlin_Force[] = "Stretchlin_Force";
1592 static char __pyx_k_Subt_Lj_typeName[] = "Subt_Lj.typeName";
1593 static char __pyx_k_Virtual_typeName[] = "Virtual.typeName";
1594 static char __pyx_k_setDefaultParams[] = "setDefaultParams";
1595 static char __pyx_k_AREA_FORCE_GLOBAL[] = "AREA_FORCE_GLOBAL";
1596 static char __pyx_k_Area_Force_Global[] = "Area_Force_Global";
1597 static char __pyx_k_BOND_ENDANGLEDIST[] = "BOND_ENDANGLEDIST";
1598 static char __pyx_k_Dihedral_typeName[] = "Dihedral.typeName";
1599 static char __pyx_k_FeneBond_typeName[] = "FeneBond.typeName";
1600 static char __pyx_k_HARMONIC_DUMBBELL[] = "HARMONIC_DUMBBELL";
1601 static char __pyx_k_Subt_Lj_validKeys[] = "Subt_Lj.validKeys";
1602 static char __pyx_k_Virtual_validKeys[] = "Virtual.validKeys";
1603 static char __pyx_k_setParamsInEsCore[] = "_setParamsInEsCore";
1604 static char __pyx_k_BondedInteractions[] = "BondedInteractions";
1605 static char __pyx_k_Dihedral_validKeys[] = "Dihedral.validKeys";
1606 static char __pyx_k_FeneBond_validKeys[] = "FeneBond.validKeys";
1607 static char __pyx_k_Subt_Lj_typeNumber[] = "Subt_Lj.typeNumber";
1608 static char __pyx_k_Tabulated_typeName[] = "Tabulated.typeName";
1609 static char __pyx_k_Virtual_typeNumber[] = "Virtual.typeNumber";
1610 static char __pyx_k_is_not_yet_defined[] = " is not yet defined.";
1611 static char __pyx_k_Dihedral_typeNumber[] = "Dihedral.typeNumber";
1612 static char __pyx_k_FeneBond_typeNumber[] = "FeneBond.typeNumber";
1613 static char __pyx_k_GenericLennardJones[] = "GenericLennardJones";
1614 static char __pyx_k_Overlapped_typeName[] = "Overlapped.typeName";
1615 static char __pyx_k_Tabulated_validKeys[] = "Tabulated.validKeys";
1616 static char __pyx_k_genericLennardJones[] = "genericLennardJones";
1617 static char __pyx_k_getParamsFromEsCore[] = "_getParamsFromEsCore";
1618 static char __pyx_k_HarmonicDumbbellBond[] = "HarmonicDumbbellBond";
1619 static char __pyx_k_Overlapped_validKeys[] = "Overlapped.validKeys";
1620 static char __pyx_k_Subt_Lj_requiredKeys[] = "Subt_Lj.requiredKeys";
1621 static char __pyx_k_Tabulated_typeNumber[] = "Tabulated.typeNumber";
1622 static char __pyx_k_Virtual_requiredKeys[] = "Virtual.requiredKeys";
1623 static char __pyx_k_Dihedral_requiredKeys[] = "Dihedral.requiredKeys";
1624 static char __pyx_k_FeneBond_requiredKeys[] = "FeneBond.requiredKeys";
1625 static char __pyx_k_HarmonicBond_typeName[] = "HarmonicBond.typeName";
1626 static char __pyx_k_Overlapped_typeNumber[] = "Overlapped.typeNumber";
1627 static char __pyx_k_Volume_Force_typeName[] = "Volume_Force.typeName";
1628 static char __pyx_k_Bending_Force_typeName[] = "Bending_Force.typeName";
1629 static char __pyx_k_Could_not_set_forcecap[] = "Could not set forcecap";
1630 static char __pyx_k_HarmonicBond_validKeys[] = "HarmonicBond.validKeys";
1631 static char __pyx_k_Tabulated_requiredKeys[] = "Tabulated.requiredKeys";
1632 static char __pyx_k_Volume_Force_validKeys[] = "Volume_Force.validKeys";
1633 static char __pyx_k_Angle_Cosine_typeNumber[] = "Angle_Cosine.typeNumber";
1634 static char __pyx_k_Bending_Force_validKeys[] = "Bending_Force.validKeys";
1635 static char __pyx_k_HarmonicBond_typeNumber[] = "HarmonicBond.typeNumber";
1636 static char __pyx_k_Overlapped_requiredKeys[] = "Overlapped.requiredKeys";
1637 static char __pyx_k_Volume_Force_typeNumber[] = "Volume_Force.typeNumber";
1638 static char __pyx_k_espressomd_interactions[] = "espressomd.interactions";
1639 static char __pyx_k_Bending_Force_typeNumber[] = "Bending_Force.typeNumber";
1640 static char __pyx_k_Subt_Lj_setDefaultParams[] = "Subt_Lj.setDefaultParams";
1641 static char __pyx_k_Virtual_setDefaultParams[] = "Virtual.setDefaultParams";
1642 static char __pyx_k_bondedInteractionClasses[] = "bondedInteractionClasses";
1643 static char __pyx_k_Angle_Harmonic_typeNumber[] = "Angle_Harmonic.typeNumber";
1644 static char __pyx_k_Area_Force_Local_typeName[] = "Area_Force_Local.typeName";
1645 static char __pyx_k_Dihedral_setDefaultParams[] = "Dihedral.setDefaultParams";
1646 static char __pyx_k_FeneBond_setDefaultParams[] = "FeneBond.setDefaultParams";
1647 static char __pyx_k_HarmonicBond_requiredKeys[] = "HarmonicBond.requiredKeys";
1648 static char __pyx_k_Stretching_Force_typeName[] = "Stretching_Force.typeName";
1649 static char __pyx_k_Stretchlin_Force_typeName[] = "Stretchlin_Force.typeName";
1650 static char __pyx_k_Volume_Force_requiredKeys[] = "Volume_Force.requiredKeys";
1651 static char __pyx_k_bond_in_the_Espresso_core[] = " bond in the Espresso core.";
1652 static char __pyx_k_Angle_Cossquare_typeNumber[] = "Angle_Cossquare.typeNumber";
1653 static char __pyx_k_Area_Force_Global_typeName[] = "Area_Force_Global.typeName";
1654 static char __pyx_k_Area_Force_Local_validKeys[] = "Area_Force_Local.validKeys";
1655 static char __pyx_k_Bending_Force_requiredKeys[] = "Bending_Force.requiredKeys";
1656 static char __pyx_k_NonBondedInteractionHandle[] = "NonBondedInteractionHandle";
1657 static char __pyx_k_Stretching_Force_validKeys[] = "Stretching_Force.validKeys";
1658 static char __pyx_k_Stretchlin_Force_validKeys[] = "Stretchlin_Force.validKeys";
1659 static char __pyx_k_Subt_Lj__setParamsInEsCore[] = "Subt_Lj._setParamsInEsCore";
1660 static char __pyx_k_Tabulated_setDefaultParams[] = "Tabulated.setDefaultParams";
1661 static char __pyx_k_Virtual__setParamsInEsCore[] = "Virtual._setParamsInEsCore";
1662 static char __pyx_k_Area_Force_Global_validKeys[] = "Area_Force_Global.validKeys";
1663 static char __pyx_k_Area_Force_Local_typeNumber[] = "Area_Force_Local.typeNumber";
1664 static char __pyx_k_BondedInteractionNotDefined[] = "BondedInteractionNotDefined";
1665 static char __pyx_k_Dihedral__setParamsInEsCore[] = "Dihedral._setParamsInEsCore";
1666 static char __pyx_k_FeneBond__setParamsInEsCore[] = "FeneBond._setParamsInEsCore";
1667 static char __pyx_k_Overlapped_setDefaultParams[] = "Overlapped.setDefaultParams";
1668 static char __pyx_k_Stretching_Force_typeNumber[] = "Stretching_Force.typeNumber";
1669 static char __pyx_k_Stretchlin_Force_typeNumber[] = "Stretchlin_Force.typeNumber";
1670 static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";
1671 static char __pyx_k_Area_Force_Global_typeNumber[] = "Area_Force_Global.typeNumber";
1672 static char __pyx_k_BondedInteractions___getitem[] = "BondedInteractions.__getitem__";
1673 static char __pyx_k_BondedInteractions___setitem[] = "BondedInteractions.__setitem__";
1674 static char __pyx_k_Subt_Lj__getParamsFromEsCore[] = "Subt_Lj._getParamsFromEsCore";
1675 static char __pyx_k_Tabulated__setParamsInEsCore[] = "Tabulated._setParamsInEsCore";
1676 static char __pyx_k_Virtual__getParamsFromEsCore[] = "Virtual._getParamsFromEsCore";
1677 static char __pyx_k_Area_Force_Local_requiredKeys[] = "Area_Force_Local.requiredKeys";
1678 static char __pyx_k_Dihedral__getParamsFromEsCore[] = "Dihedral._getParamsFromEsCore";
1679 static char __pyx_k_FeneBond__getParamsFromEsCore[] = "FeneBond._getParamsFromEsCore";
1680 static char __pyx_k_HarmonicBond_setDefaultParams[] = "HarmonicBond.setDefaultParams";
1681 static char __pyx_k_HarmonicDumbbellBond_typeName[] = "HarmonicDumbbellBond.typeName";
1682 static char __pyx_k_Lennard_Jones_eps_has_to_be_0[] = "Lennard-Jones eps has to be >=0";
1683 static char __pyx_k_Overlapped__setParamsInEsCore[] = "Overlapped._setParamsInEsCore";
1684 static char __pyx_k_Stretching_Force_requiredKeys[] = "Stretching_Force.requiredKeys";
1685 static char __pyx_k_Stretchlin_Force_requiredKeys[] = "Stretchlin_Force.requiredKeys";
1686 static char __pyx_k_Volume_Force_setDefaultParams[] = "Volume_Force.setDefaultParams";
1687 static char __pyx_k_Area_Force_Global_requiredKeys[] = "Area_Force_Global.requiredKeys";
1688 static char __pyx_k_Bending_Force_setDefaultParams[] = "Bending_Force.setDefaultParams";
1689 static char __pyx_k_HarmonicDumbbellBond_validKeys[] = "HarmonicDumbbellBond.validKeys";
1690 static char __pyx_k_Tabulated__getParamsFromEsCore[] = "Tabulated._getParamsFromEsCore";
1691 static char __pyx_k_Generic_Lennard_Jones_sigma_has[] = "Generic Lennard-Jones sigma has to be >=0";
1692 static char __pyx_k_HarmonicBond__setParamsInEsCore[] = "HarmonicBond._setParamsInEsCore";
1693 static char __pyx_k_HarmonicDumbbellBond_typeNumber[] = "HarmonicDumbbellBond.typeNumber";
1694 static char __pyx_k_Index_to_BondedInteractions_has[] = "Index to BondedInteractions[] has to ba an integer referring to a bond id";
1695 static char __pyx_k_Lennard_Jones_sigma_has_to_be_0[] = "Lennard-Jones sigma has to be >=0";
1696 static char __pyx_k_Overlapped__getParamsFromEsCore[] = "Overlapped._getParamsFromEsCore";
1697 static char __pyx_k_Subclasses_of_BondedInteraction[] = "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.";
1698 static char __pyx_k_The_bonded_interaction_with_the[] = "The bonded interaction with the id ";
1699 static char __pyx_k_Volume_Force__setParamsInEsCore[] = "Volume_Force._setParamsInEsCore";
1700 static char __pyx_k_home_haozeke_Github_LabBom_espr[] = "/home/haozeke/Github/LabBom/espresso/src/python/espressomd/interactions.pyx";
1701 static char __pyx_k_not_compiled_into_Espresso_core[] = " not compiled into Espresso core";
1702 static char __pyx_k_s_has_to_be_defined_in_myconfig[] = "%s has to be defined in myconfig.hpp.";
1703 static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";
1704 static char __pyx_k_Area_Force_Global__getParamsFrom[] = "Area_Force_Global._getParamsFromEsCore";
1705 static char __pyx_k_Area_Force_Global__setParamsInEs[] = "Area_Force_Global._setParamsInEsCore";
1706 static char __pyx_k_Area_Force_Global_setDefaultPara[] = "Area_Force_Global.setDefaultParams";
1707 static char __pyx_k_Area_Force_Local__getParamsFromE[] = "Area_Force_Local._getParamsFromEsCore";
1708 static char __pyx_k_Area_Force_Local__setParamsInEsC[] = "Area_Force_Local._setParamsInEsCore";
1709 static char __pyx_k_Area_Force_Local_setDefaultParam[] = "Area_Force_Local.setDefaultParams";
1710 static char __pyx_k_At_least_the_following_keys_have[] = "At least the following keys have to be given as keyword arguments: ";
1711 static char __pyx_k_Bending_Force__getParamsFromEsCo[] = "Bending_Force._getParamsFromEsCore";
1712 static char __pyx_k_Bending_Force__setParamsInEsCore[] = "Bending_Force._setParamsInEsCore";
1713 static char __pyx_k_BondedInteractionNotDefined___in[] = "BondedInteractionNotDefined.__init__";
1714 static char __pyx_k_BondedInteractionNotDefined__get[] = "BondedInteractionNotDefined._getParamsFromEsCore";
1715 static char __pyx_k_BondedInteractionNotDefined__set[] = "BondedInteractionNotDefined._setParamsInEsCore";
1716 static char __pyx_k_BondedInteractionNotDefined_requ[] = "BondedInteractionNotDefined.requiredKeys";
1717 static char __pyx_k_BondedInteractionNotDefined_setD[] = "BondedInteractionNotDefined.setDefaultParams";
1718 static char __pyx_k_BondedInteractionNotDefined_type[] = "BondedInteractionNotDefined.typeNumber";
1719 static char __pyx_k_BondedInteractionNotDefined_vali[] = "BondedInteractionNotDefined.validKeys";
1720 static char __pyx_k_Could_not_set_Generic_Lennard_Jo[] = "Could not set Generic Lennard Jones parameters";
1721 static char __pyx_k_Could_not_set_Lennard_Jones_para[] = "Could not set Lennard Jones parameters";
1722 static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";
1723 static char __pyx_k_Generic_Lennard_Jones_cutoff_has[] = "Generic Lennard-Jones cutoff has to be >=0";
1724 static char __pyx_k_Generic_Lennard_Jones_eps_has_to[] = "Generic Lennard-Jones eps has to be >=0";
1725 static char __pyx_k_HarmonicBond__getParamsFromEsCor[] = "HarmonicBond._getParamsFromEsCore";
1726 static char __pyx_k_HarmonicDumbbellBond__getParamsF[] = "HarmonicDumbbellBond._getParamsFromEsCore";
1727 static char __pyx_k_HarmonicDumbbellBond__setParamsI[] = "HarmonicDumbbellBond._setParamsInEsCore";
1728 static char __pyx_k_HarmonicDumbbellBond_requiredKey[] = "HarmonicDumbbellBond.requiredKeys";
1729 static char __pyx_k_HarmonicDumbbellBond_setDefaultP[] = "HarmonicDumbbellBond.setDefaultParams";
1730 static char __pyx_k_Index_to_BondedInteractions_hast[] = "Index to BondedInteractions[] hast to ba an integer referring to a bond id";
1731 static char __pyx_k_Lennard_Jones_cutoff_has_to_be_0[] = "Lennard-Jones cutoff has to be >=0";
1732 static char __pyx_k_NonBondedInteractionHandle___ini[] = "NonBondedInteractionHandle.__init__";
1733 static char __pyx_k_NonBondedInteractions_expects_tw[] = "NonBondedInteractions[] expects two particle types as indices.";
1734 static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";
1735 static char __pyx_k_Only_subclasses_of_BondedInterac[] = "Only subclasses of BondedInteraction can be assigned.";
1736 static char __pyx_k_Only_the_following_keys_are_supp[] = "Only the following keys are supported: ";
1737 static char __pyx_k_Provides_access_to_all_Non_bonde[] = "Provides access to all Non-bonded interactions between\n two particle types.";
1738 static char __pyx_k_Represents_the_bonded_interactio[] = "Represents the bonded interactions. Individual interactions can be accessed using\n NonBondedInteractions[i], where i is the bond id. Will return an instance o\n BondedInteractionHandle";
1739 static char __pyx_k_Stretching_Force__getParamsFromE[] = "Stretching_Force._getParamsFromEsCore";
1740 static char __pyx_k_Stretching_Force__setParamsInEsC[] = "Stretching_Force._setParamsInEsCore";
1741 static char __pyx_k_Stretching_Force_setDefaultParam[] = "Stretching_Force.setDefaultParams";
1742 static char __pyx_k_Stretchlin_Force__getParamsFromE[] = "Stretchlin_Force._getParamsFromEsCore";
1743 static char __pyx_k_Stretchlin_Force__setParamsInEsC[] = "Stretchlin_Force._setParamsInEsCore";
1744 static char __pyx_k_Stretchlin_Force_setDefaultParam[] = "Stretchlin_Force.setDefaultParams";
1745 static char __pyx_k_Subclasses_of_NonBondedInteracti[] = "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.";
1746 static char __pyx_k_The_bond_with_this_id_is_not_def[] = "The bond with this id is not defined as a ";
1747 static char __pyx_k_The_constructor_has_to_be_called[] = "The constructor has to be called either with two particle type ids (as interger), or with a set of keyword arguments describing a new interaction";
1748 static char __pyx_k_The_particle_types_have_to_be_of[] = "The particle types have to be of type integer.";
1749 static char __pyx_k_Volume_Force__getParamsFromEsCor[] = "Volume_Force._getParamsFromEsCore";
1750 static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";
1751 static char __pyx_k_Subclasses_of_BondedInteraction_2[] = "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.";
1752 static char __pyx_k_Subclasses_of_BondedInteraction_3[] = "Subclasses of BondedInteraction must define the setDefaultParams() method.";
1753 static char __pyx_k_Subclasses_of_BondedInteraction_4[] = "Subclasses of BondedInteraction must define the typeNumber() method.";
1754 static char __pyx_k_Subclasses_of_BondedInteraction_5[] = "Subclasses of BondedInteraction must define the typeName() method.";
1755 static char __pyx_k_Subclasses_of_BondedInteraction_6[] = "Subclasses of BondedInteraction must define the validKeys() method.";
1756 static char __pyx_k_Subclasses_of_BondedInteraction_7[] = "Subclasses of BondedInteraction must define the requiredKeys() method.";
1757 static char __pyx_k_BondedInteractionNotDefined_type_2[] = "BondedInteractionNotDefined.typeName";
1758 static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";
1759 static char __pyx_k_Subclasses_of_NonBondedInteracti_2[] = "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.";
1760 static char __pyx_k_Subclasses_of_NonBondedInteracti_3[] = "Subclasses of NonBondedInteraction must define the defaultParams() method.";
1761 static char __pyx_k_Subclasses_of_NonBondedInteracti_4[] = "Subclasses of NonBondedInteraction must define the isActive() method.";
1762 static char __pyx_k_Subclasses_of_NonBondedInteracti_5[] = "Subclasses of NonBondedInteraction must define the typeName() method.";
1763 static char __pyx_k_Subclasses_of_NonBondedInteracti_6[] = "Subclasses of NonBondedInteraction must define the validKeys() method.";
1764 static char __pyx_k_Subclasses_of_NonBondedInteracti_7[] = "Subclasses of NonBondedInteraction must define the requiredKeys() method.";
1765 static char __pyx_k_The_constructor_has_to_be_called_2[] = "The constructor has to be called either with a bond id (as interger), or with a set of keyword arguments describing a new interaction";
1766 static PyObject *__pyx_n_s_A0_g;
1767 static PyObject *__pyx_n_s_A0_l;
1768 static PyObject *__pyx_n_s_ANGLE_COSINE;
1769 static PyObject *__pyx_n_s_ANGLE_COSSQUARE;
1770 static PyObject *__pyx_n_s_ANGLE_HARMONIC;
1771 static PyObject *__pyx_n_s_AREA_FORCE_GLOBAL;
1772 static PyObject *__pyx_n_s_AREA_FORCE_LOCAL;
1773 static PyObject *__pyx_n_s_Angle_Cosine;
1774 static PyObject *__pyx_n_s_Angle_Cosine_typeNumber;
1775 static PyObject *__pyx_n_s_Angle_Cossquare;
1776 static PyObject *__pyx_n_s_Angle_Cossquare_typeNumber;
1777 static PyObject *__pyx_n_s_Angle_Harmonic;
1778 static PyObject *__pyx_n_s_Angle_Harmonic_typeNumber;
1779 static PyObject *__pyx_n_s_Area_Force_Global;
1780 static PyObject *__pyx_n_s_Area_Force_Global__getParamsFrom;
1781 static PyObject *__pyx_n_s_Area_Force_Global__setParamsInEs;
1782 static PyObject *__pyx_n_s_Area_Force_Global_requiredKeys;
1783 static PyObject *__pyx_n_s_Area_Force_Global_setDefaultPara;
1784 static PyObject *__pyx_n_s_Area_Force_Global_typeName;
1785 static PyObject *__pyx_n_s_Area_Force_Global_typeNumber;
1786 static PyObject *__pyx_n_s_Area_Force_Global_validKeys;
1787 static PyObject *__pyx_n_s_Area_Force_Local;
1788 static PyObject *__pyx_n_s_Area_Force_Local__getParamsFromE;
1789 static PyObject *__pyx_n_s_Area_Force_Local__setParamsInEsC;
1790 static PyObject *__pyx_n_s_Area_Force_Local_requiredKeys;
1791 static PyObject *__pyx_n_s_Area_Force_Local_setDefaultParam;
1792 static PyObject *__pyx_n_s_Area_Force_Local_typeName;
1793 static PyObject *__pyx_n_s_Area_Force_Local_typeNumber;
1794 static PyObject *__pyx_n_s_Area_Force_Local_validKeys;
1795 static PyObject *__pyx_kp_s_At_least_the_following_keys_have;
1796 static PyObject *__pyx_n_s_BENDING_FORCE;
1797 static PyObject *__pyx_n_s_BOND_ENDANGLEDIST;
1798 static PyObject *__pyx_n_s_Bending_Force;
1799 static PyObject *__pyx_n_s_Bending_Force__getParamsFromEsCo;
1800 static PyObject *__pyx_n_s_Bending_Force__setParamsInEsCore;
1801 static PyObject *__pyx_n_s_Bending_Force_requiredKeys;
1802 static PyObject *__pyx_n_s_Bending_Force_setDefaultParams;
1803 static PyObject *__pyx_n_s_Bending_Force_typeName;
1804 static PyObject *__pyx_n_s_Bending_Force_typeNumber;
1805 static PyObject *__pyx_n_s_Bending_Force_validKeys;
1806 static PyObject *__pyx_n_s_BondedInteractionNotDefined;
1807 static PyObject *__pyx_n_s_BondedInteractionNotDefined___in;
1808 static PyObject *__pyx_n_s_BondedInteractionNotDefined__get;
1809 static PyObject *__pyx_n_s_BondedInteractionNotDefined__set;
1810 static PyObject *__pyx_n_s_BondedInteractionNotDefined_requ;
1811 static PyObject *__pyx_n_s_BondedInteractionNotDefined_setD;
1812 static PyObject *__pyx_n_s_BondedInteractionNotDefined_type;
1813 static PyObject *__pyx_n_s_BondedInteractionNotDefined_type_2;
1814 static PyObject *__pyx_n_s_BondedInteractionNotDefined_vali;
1815 static PyObject *__pyx_n_s_BondedInteractions;
1816 static PyObject *__pyx_n_s_BondedInteractions___getitem;
1817 static PyObject *__pyx_n_s_BondedInteractions___setitem;
1818 static PyObject *__pyx_kp_s_Could_not_set_Generic_Lennard_Jo;
1819 static PyObject *__pyx_kp_s_Could_not_set_Lennard_Jones_para;
1820 static PyObject *__pyx_kp_s_Could_not_set_forcecap;
1821 static PyObject *__pyx_n_s_DIHEDRAL;
1822 static PyObject *__pyx_n_s_Dihedral;
1823 static PyObject *__pyx_n_s_Dihedral__getParamsFromEsCore;
1824 static PyObject *__pyx_n_s_Dihedral__setParamsInEsCore;
1825 static PyObject *__pyx_n_s_Dihedral_requiredKeys;
1826 static PyObject *__pyx_n_s_Dihedral_setDefaultParams;
1827 static PyObject *__pyx_n_s_Dihedral_typeName;
1828 static PyObject *__pyx_n_s_Dihedral_typeNumber;
1829 static PyObject *__pyx_n_s_Dihedral_validKeys;
1830 static PyObject *__pyx_n_s_Endangledist;
1831 static PyObject *__pyx_n_s_Exception;
1832 static PyObject *__pyx_n_s_FENE;
1833 static PyObject *__pyx_n_s_FeneBond;
1834 static PyObject *__pyx_n_s_FeneBond__getParamsFromEsCore;
1835 static PyObject *__pyx_n_s_FeneBond__setParamsInEsCore;
1836 static PyObject *__pyx_n_s_FeneBond_requiredKeys;
1837 static PyObject *__pyx_n_s_FeneBond_setDefaultParams;
1838 static PyObject *__pyx_n_s_FeneBond_typeName;
1839 static PyObject *__pyx_n_s_FeneBond_typeNumber;
1840 static PyObject *__pyx_n_s_FeneBond_validKeys;
1841 static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;
1842 static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;
1843 static PyObject *__pyx_n_s_GenericLennardJones;
1844 static PyObject *__pyx_kp_s_Generic_Lennard_Jones_cutoff_has;
1845 static PyObject *__pyx_kp_s_Generic_Lennard_Jones_eps_has_to;
1846 static PyObject *__pyx_kp_s_Generic_Lennard_Jones_sigma_has;
1847 static PyObject *__pyx_n_s_HARMONIC;
1848 static PyObject *__pyx_n_s_HARMONIC_DUMBBELL;
1849 static PyObject *__pyx_n_s_HarmonicBond;
1850 static PyObject *__pyx_n_s_HarmonicBond__getParamsFromEsCor;
1851 static PyObject *__pyx_n_s_HarmonicBond__setParamsInEsCore;
1852 static PyObject *__pyx_n_s_HarmonicBond_requiredKeys;
1853 static PyObject *__pyx_n_s_HarmonicBond_setDefaultParams;
1854 static PyObject *__pyx_n_s_HarmonicBond_typeName;
1855 static PyObject *__pyx_n_s_HarmonicBond_typeNumber;
1856 static PyObject *__pyx_n_s_HarmonicBond_validKeys;
1857 static PyObject *__pyx_n_s_HarmonicDumbbellBond;
1858 static PyObject *__pyx_n_s_HarmonicDumbbellBond__getParamsF;
1859 static PyObject *__pyx_n_s_HarmonicDumbbellBond__setParamsI;
1860 static PyObject *__pyx_n_s_HarmonicDumbbellBond_requiredKey;
1861 static PyObject *__pyx_n_s_HarmonicDumbbellBond_setDefaultP;
1862 static PyObject *__pyx_n_s_HarmonicDumbbellBond_typeName;
1863 static PyObject *__pyx_n_s_HarmonicDumbbellBond_typeNumber;
1864 static PyObject *__pyx_n_s_HarmonicDumbbellBond_validKeys;
1865 static PyObject *__pyx_kp_s_Index_to_BondedInteractions_has;
1866 static PyObject *__pyx_kp_s_Index_to_BondedInteractions_hast;
1867 static PyObject *__pyx_n_s_LennardJones;
1868 static PyObject *__pyx_kp_s_Lennard_Jones_cutoff_has_to_be_0;
1869 static PyObject *__pyx_kp_s_Lennard_Jones_eps_has_to_be_0;
1870 static PyObject *__pyx_kp_s_Lennard_Jones_sigma_has_to_be_0;
1871 static PyObject *__pyx_n_s_NonBondedInteractionHandle;
1872 static PyObject *__pyx_n_s_NonBondedInteractionHandle___ini;
1873 static PyObject *__pyx_kp_s_NonBondedInteractions_expects_tw;
1874 static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;
1875 static PyObject *__pyx_n_s_OVERLAPPED;
1876 static PyObject *__pyx_kp_s_Only_subclasses_of_BondedInterac;
1877 static PyObject *__pyx_kp_s_Only_the_following_keys_are_supp;
1878 static PyObject *__pyx_n_s_Overlapped;
1879 static PyObject *__pyx_n_s_Overlapped__getParamsFromEsCore;
1880 static PyObject *__pyx_n_s_Overlapped__setParamsInEsCore;
1881 static PyObject *__pyx_n_s_Overlapped_requiredKeys;
1882 static PyObject *__pyx_n_s_Overlapped_setDefaultParams;
1883 static PyObject *__pyx_n_s_Overlapped_typeName;
1884 static PyObject *__pyx_n_s_Overlapped_typeNumber;
1885 static PyObject *__pyx_n_s_Overlapped_validKeys;
1886 static PyObject *__pyx_kp_s_Provides_access_to_all_Non_bonde;
1887 static PyObject *__pyx_n_s_RIGID;
1888 static PyObject *__pyx_kp_s_Represents_the_bonded_interactio;
1889 static PyObject *__pyx_n_s_RigidBond;
1890 static PyObject *__pyx_n_s_RuntimeError;
1891 static PyObject *__pyx_n_s_STRETCHING_FORCE;
1892 static PyObject *__pyx_n_s_STRETCHLIN_FORCE;
1893 static PyObject *__pyx_n_s_SUBT_LJ;
1894 static PyObject *__pyx_n_s_Stretching_Force;
1895 static PyObject *__pyx_n_s_Stretching_Force__getParamsFromE;
1896 static PyObject *__pyx_n_s_Stretching_Force__setParamsInEsC;
1897 static PyObject *__pyx_n_s_Stretching_Force_requiredKeys;
1898 static PyObject *__pyx_n_s_Stretching_Force_setDefaultParam;
1899 static PyObject *__pyx_n_s_Stretching_Force_typeName;
1900 static PyObject *__pyx_n_s_Stretching_Force_typeNumber;
1901 static PyObject *__pyx_n_s_Stretching_Force_validKeys;
1902 static PyObject *__pyx_n_s_Stretchlin_Force;
1903 static PyObject *__pyx_n_s_Stretchlin_Force__getParamsFromE;
1904 static PyObject *__pyx_n_s_Stretchlin_Force__setParamsInEsC;
1905 static PyObject *__pyx_n_s_Stretchlin_Force_requiredKeys;
1906 static PyObject *__pyx_n_s_Stretchlin_Force_setDefaultParam;
1907 static PyObject *__pyx_n_s_Stretchlin_Force_typeName;
1908 static PyObject *__pyx_n_s_Stretchlin_Force_typeNumber;
1909 static PyObject *__pyx_n_s_Stretchlin_Force_validKeys;
1910 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction;
1911 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_2;
1912 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_3;
1913 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_4;
1914 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_5;
1915 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_6;
1916 static PyObject *__pyx_kp_s_Subclasses_of_BondedInteraction_7;
1917 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti;
1918 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_2;
1919 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_3;
1920 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_4;
1921 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_5;
1922 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_6;
1923 static PyObject *__pyx_kp_s_Subclasses_of_NonBondedInteracti_7;
1924 static PyObject *__pyx_n_s_Subt_Lj;
1925 static PyObject *__pyx_n_s_Subt_Lj__getParamsFromEsCore;
1926 static PyObject *__pyx_n_s_Subt_Lj__setParamsInEsCore;
1927 static PyObject *__pyx_n_s_Subt_Lj_requiredKeys;
1928 static PyObject *__pyx_n_s_Subt_Lj_setDefaultParams;
1929 static PyObject *__pyx_n_s_Subt_Lj_typeName;
1930 static PyObject *__pyx_n_s_Subt_Lj_typeNumber;
1931 static PyObject *__pyx_n_s_Subt_Lj_validKeys;
1932 static PyObject *__pyx_n_s_TABULATED;
1933 static PyObject *__pyx_n_s_Tabulated;
1934 static PyObject *__pyx_n_s_Tabulated__getParamsFromEsCore;
1935 static PyObject *__pyx_n_s_Tabulated__setParamsInEsCore;
1936 static PyObject *__pyx_n_s_Tabulated_requiredKeys;
1937 static PyObject *__pyx_n_s_Tabulated_setDefaultParams;
1938 static PyObject *__pyx_n_s_Tabulated_typeName;
1939 static PyObject *__pyx_n_s_Tabulated_typeNumber;
1940 static PyObject *__pyx_n_s_Tabulated_validKeys;
1941 static PyObject *__pyx_kp_s_The_bond_with_this_id_is_not_def;
1942 static PyObject *__pyx_kp_s_The_bonded_interaction_with_the;
1943 static PyObject *__pyx_kp_s_The_constructor_has_to_be_called;
1944 static PyObject *__pyx_kp_s_The_constructor_has_to_be_called_2;
1945 static PyObject *__pyx_kp_s_The_particle_types_have_to_be_of;
1946 static PyObject *__pyx_n_s_TypeError;
1947 static PyObject *__pyx_n_s_V0;
1948 static PyObject *__pyx_n_s_VIRTUAL;
1949 static PyObject *__pyx_n_s_VOLUME_FORCE;
1950 static PyObject *__pyx_n_s_ValueError;
1951 static PyObject *__pyx_n_s_Virtual;
1952 static PyObject *__pyx_n_s_Virtual__getParamsFromEsCore;
1953 static PyObject *__pyx_n_s_Virtual__setParamsInEsCore;
1954 static PyObject *__pyx_n_s_Virtual_requiredKeys;
1955 static PyObject *__pyx_n_s_Virtual_setDefaultParams;
1956 static PyObject *__pyx_n_s_Virtual_typeName;
1957 static PyObject *__pyx_n_s_Virtual_typeNumber;
1958 static PyObject *__pyx_n_s_Virtual_validKeys;
1959 static PyObject *__pyx_n_s_Volume_Force;
1960 static PyObject *__pyx_n_s_Volume_Force__getParamsFromEsCor;
1961 static PyObject *__pyx_n_s_Volume_Force__setParamsInEsCore;
1962 static PyObject *__pyx_n_s_Volume_Force_requiredKeys;
1963 static PyObject *__pyx_n_s_Volume_Force_setDefaultParams;
1964 static PyObject *__pyx_n_s_Volume_Force_typeName;
1965 static PyObject *__pyx_n_s_Volume_Force_typeNumber;
1966 static PyObject *__pyx_n_s_Volume_Force_validKeys;
1967 static PyObject *__pyx_kp_s__43;
1968 static PyObject *__pyx_kp_s__67;
1969 static PyObject *__pyx_n_s_args;
1970 static PyObject *__pyx_n_s_auto;
1971 static PyObject *__pyx_n_s_b1;
1972 static PyObject *__pyx_n_s_b2;
1973 static PyObject *__pyx_n_s_bend;
1974 static PyObject *__pyx_n_s_bondClass;
1975 static PyObject *__pyx_n_s_bondId;
1976 static PyObject *__pyx_n_s_bondId_2;
1977 static PyObject *__pyx_n_s_bondType;
1978 static PyObject *__pyx_kp_s_bond_in_the_Espresso_core;
1979 static PyObject *__pyx_n_s_bondedInteractionClasses;
1980 static PyObject *__pyx_n_s_class_s;
1981 static PyObject *__pyx_n_s_cutoff;
1982 static PyObject *__pyx_n_s_d_r_max;
1983 static PyObject *__pyx_n_s_defaultParams;
1984 static PyObject *__pyx_n_s_delta;
1985 static PyObject *__pyx_n_s_doc;
1986 static PyObject *__pyx_n_s_e1;
1987 static PyObject *__pyx_n_s_e2;
1988 static PyObject *__pyx_n_s_end;
1989 static PyObject *__pyx_n_s_epsilon;
1990 static PyObject *__pyx_n_s_espressomd_interactions;
1991 static PyObject *__pyx_n_s_file;
1992 static PyObject *__pyx_n_s_filename;
1993 static PyObject *__pyx_n_s_genericLennardJones;
1994 static PyObject *__pyx_n_s_getParamsFromEsCore;
1995 static PyObject *__pyx_n_s_getitem;
1996 static PyObject *__pyx_kp_s_home_haozeke_Github_LabBom_espr;
1997 static PyObject *__pyx_n_s_import;
1998 static PyObject *__pyx_n_s_init;
1999 static PyObject *__pyx_n_s_invstepsize;
2000 static PyObject *__pyx_n_s_isActive;
2001 static PyObject *__pyx_kp_s_is_not_yet_defined;
2002 static PyObject *__pyx_n_s_k;
2003 static PyObject *__pyx_n_s_k1;
2004 static PyObject *__pyx_n_s_k2;
2005 static PyObject *__pyx_kp_s_k_2;
2006 static PyObject *__pyx_n_s_ka_g;
2007 static PyObject *__pyx_n_s_ka_l;
2008 static PyObject *__pyx_n_s_kb;
2009 static PyObject *__pyx_n_s_key;
2010 static PyObject *__pyx_n_s_keys;
2011 static PyObject *__pyx_n_s_ks;
2012 static PyObject *__pyx_n_s_kslin;
2013 static PyObject *__pyx_n_s_kv;
2014 static PyObject *__pyx_n_s_kwargs;
2015 static PyObject *__pyx_n_s_lambda;
2016 static PyObject *__pyx_n_s_lennardJones;
2017 static PyObject *__pyx_n_s_main;
2018 static PyObject *__pyx_n_s_maxval;
2019 static PyObject *__pyx_n_s_metaclass;
2020 static PyObject *__pyx_n_s_min;
2021 static PyObject *__pyx_n_s_minval;
2022 static PyObject *__pyx_n_s_module;
2023 static PyObject *__pyx_n_s_mult;
2024 static PyObject *__pyx_kp_s_mult_2;
2025 static PyObject *__pyx_n_s_name;
2026 static PyObject *__pyx_n_s_name_2;
2027 static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;
2028 static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;
2029 static PyObject *__pyx_kp_s_not_compiled_into_Espresso_core;
2030 static PyObject *__pyx_n_s_npoints;
2031 static PyObject *__pyx_n_s_object;
2032 static PyObject *__pyx_n_s_offset;
2033 static PyObject *__pyx_n_s_overlap_type;
2034 static PyObject *__pyx_n_s_params;
2035 static PyObject *__pyx_n_s_params_2;
2036 static PyObject *__pyx_n_s_phase;
2037 static PyObject *__pyx_n_s_phi0;
2038 static PyObject *__pyx_n_s_prepare;
2039 static PyObject *__pyx_n_s_print;
2040 static PyObject *__pyx_n_s_qualname;
2041 static PyObject *__pyx_n_s_r;
2042 static PyObject *__pyx_n_s_r0;
2043 static PyObject *__pyx_n_s_r_0;
2044 static PyObject *__pyx_n_s_r_cut;
2045 static PyObject *__pyx_n_s_range;
2046 static PyObject *__pyx_n_s_requiredKeys;
2047 static PyObject *__pyx_kp_s_s_has_to_be_defined_in_myconfig;
2048 static PyObject *__pyx_n_s_self;
2049 static PyObject *__pyx_n_s_setDefaultParams;
2050 static PyObject *__pyx_n_s_setParamsInEsCore;
2051 static PyObject *__pyx_n_s_setitem;
2052 static PyObject *__pyx_n_s_shift;
2053 static PyObject *__pyx_n_s_sigma;
2054 static PyObject *__pyx_n_s_str;
2055 static PyObject *__pyx_n_s_test;
2056 static PyObject *__pyx_n_s_type;
2057 static PyObject *__pyx_n_s_type1;
2058 static PyObject *__pyx_n_s_type1_2;
2059 static PyObject *__pyx_n_s_type2;
2060 static PyObject *__pyx_n_s_type2_2;
2061 static PyObject *__pyx_n_s_typeName;
2062 static PyObject *__pyx_n_s_typeNumber;
2063 static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;
2064 static PyObject *__pyx_n_s_update;
2065 static PyObject *__pyx_n_s_validKeys;
2066 static PyObject *__pyx_n_s_validateParams;
2067 static PyObject *__pyx_n_s_value;
2068 static PyObject *__pyx_float_0_;
2069 static PyObject *__pyx_float_1_;
2070 static PyObject *__pyx_int_0;
2071 static PyObject *__pyx_int_1;
2072 static PyObject *__pyx_int_2;
2073 static PyObject *__pyx_int_3;
2074 static PyObject *__pyx_int_5;
2075 static PyObject *__pyx_int_6;
2076 static PyObject *__pyx_int_7;
2077 static PyObject *__pyx_int_9;
2078 static PyObject *__pyx_int_11;
2079 static PyObject *__pyx_int_12;
2080 static PyObject *__pyx_int_13;
2081 static PyObject *__pyx_int_14;
2082 static PyObject *__pyx_int_15;
2083 static PyObject *__pyx_int_16;
2084 static PyObject *__pyx_int_17;
2085 static PyObject *__pyx_int_18;
2086 static PyObject *__pyx_int_19;
2087 static PyObject *__pyx_int_20;
2088 static PyObject *__pyx_int_21;
2089 static PyObject *__pyx_int_neg_1;
2090 static PyObject *__pyx_tuple_;
2091 static PyObject *__pyx_tuple__2;
2092 static PyObject *__pyx_tuple__3;
2093 static PyObject *__pyx_tuple__4;
2094 static PyObject *__pyx_tuple__5;
2095 static PyObject *__pyx_tuple__6;
2096 static PyObject *__pyx_tuple__7;
2097 static PyObject *__pyx_tuple__8;
2098 static PyObject *__pyx_tuple__9;
2099 static PyObject *__pyx_tuple__10;
2100 static PyObject *__pyx_tuple__11;
2101 static PyObject *__pyx_tuple__12;
2102 static PyObject *__pyx_tuple__13;
2103 static PyObject *__pyx_tuple__14;
2104 static PyObject *__pyx_tuple__15;
2105 static PyObject *__pyx_tuple__16;
2106 static PyObject *__pyx_tuple__17;
2107 static PyObject *__pyx_tuple__18;
2108 static PyObject *__pyx_tuple__19;
2109 static PyObject *__pyx_tuple__20;
2110 static PyObject *__pyx_tuple__21;
2111 static PyObject *__pyx_tuple__22;
2112 static PyObject *__pyx_tuple__23;
2113 static PyObject *__pyx_tuple__24;
2114 static PyObject *__pyx_tuple__25;
2115 static PyObject *__pyx_tuple__26;
2116 static PyObject *__pyx_tuple__27;
2117 static PyObject *__pyx_tuple__28;
2118 static PyObject *__pyx_tuple__29;
2119 static PyObject *__pyx_tuple__30;
2120 static PyObject *__pyx_tuple__31;
2121 static PyObject *__pyx_tuple__32;
2122 static PyObject *__pyx_tuple__33;
2123 static PyObject *__pyx_tuple__34;
2124 static PyObject *__pyx_tuple__35;
2125 static PyObject *__pyx_tuple__36;
2126 static PyObject *__pyx_tuple__37;
2127 static PyObject *__pyx_tuple__38;
2128 static PyObject *__pyx_tuple__39;
2129 static PyObject *__pyx_tuple__40;
2130 static PyObject *__pyx_tuple__41;
2131 static PyObject *__pyx_tuple__42;
2132 static PyObject *__pyx_tuple__44;
2133 static PyObject *__pyx_tuple__45;
2134 static PyObject *__pyx_tuple__46;
2135 static PyObject *__pyx_tuple__47;
2136 static PyObject *__pyx_tuple__48;
2137 static PyObject *__pyx_tuple__49;
2138 static PyObject *__pyx_tuple__50;
2139 static PyObject *__pyx_tuple__51;
2140 static PyObject *__pyx_tuple__52;
2141 static PyObject *__pyx_tuple__53;
2142 static PyObject *__pyx_tuple__54;
2143 static PyObject *__pyx_tuple__55;
2144 static PyObject *__pyx_tuple__56;
2145 static PyObject *__pyx_tuple__57;
2146 static PyObject *__pyx_tuple__58;
2147 static PyObject *__pyx_tuple__59;
2148 static PyObject *__pyx_tuple__60;
2149 static PyObject *__pyx_tuple__61;
2150 static PyObject *__pyx_tuple__62;
2151 static PyObject *__pyx_tuple__63;
2152 static PyObject *__pyx_tuple__64;
2153 static PyObject *__pyx_tuple__65;
2154 static PyObject *__pyx_tuple__66;
2155 static PyObject *__pyx_tuple__68;
2156 static PyObject *__pyx_tuple__69;
2157 static PyObject *__pyx_tuple__70;
2158 static PyObject *__pyx_tuple__71;
2159 static PyObject *__pyx_tuple__72;
2160 static PyObject *__pyx_tuple__73;
2161 static PyObject *__pyx_tuple__74;
2162 static PyObject *__pyx_tuple__75;
2163 static PyObject *__pyx_tuple__76;
2164 static PyObject *__pyx_tuple__78;
2165 static PyObject *__pyx_tuple__80;
2166 static PyObject *__pyx_tuple__82;
2167 static PyObject *__pyx_tuple__84;
2168 static PyObject *__pyx_tuple__86;
2169 static PyObject *__pyx_tuple__88;
2170 static PyObject *__pyx_tuple__90;
2171 static PyObject *__pyx_tuple__92;
2172 static PyObject *__pyx_tuple__94;
2173 static PyObject *__pyx_tuple__96;
2174 static PyObject *__pyx_tuple__98;
2175 static PyObject *__pyx_tuple__100;
2176 static PyObject *__pyx_tuple__102;
2177 static PyObject *__pyx_tuple__104;
2178 static PyObject *__pyx_tuple__106;
2179 static PyObject *__pyx_tuple__108;
2180 static PyObject *__pyx_tuple__110;
2181 static PyObject *__pyx_tuple__112;
2182 static PyObject *__pyx_tuple__114;
2183 static PyObject *__pyx_tuple__116;
2184 static PyObject *__pyx_tuple__118;
2185 static PyObject *__pyx_tuple__120;
2186 static PyObject *__pyx_tuple__122;
2187 static PyObject *__pyx_tuple__124;
2188 static PyObject *__pyx_tuple__126;
2189 static PyObject *__pyx_tuple__128;
2190 static PyObject *__pyx_tuple__130;
2191 static PyObject *__pyx_tuple__132;
2192 static PyObject *__pyx_tuple__134;
2193 static PyObject *__pyx_tuple__136;
2194 static PyObject *__pyx_tuple__138;
2195 static PyObject *__pyx_tuple__140;
2196 static PyObject *__pyx_tuple__142;
2197 static PyObject *__pyx_tuple__144;
2198 static PyObject *__pyx_tuple__146;
2199 static PyObject *__pyx_tuple__148;
2200 static PyObject *__pyx_tuple__150;
2201 static PyObject *__pyx_tuple__152;
2202 static PyObject *__pyx_tuple__154;
2203 static PyObject *__pyx_tuple__156;
2204 static PyObject *__pyx_tuple__158;
2205 static PyObject *__pyx_tuple__160;
2206 static PyObject *__pyx_tuple__162;
2207 static PyObject *__pyx_tuple__164;
2208 static PyObject *__pyx_tuple__166;
2209 static PyObject *__pyx_tuple__168;
2210 static PyObject *__pyx_tuple__170;
2211 static PyObject *__pyx_tuple__172;
2212 static PyObject *__pyx_tuple__174;
2213 static PyObject *__pyx_tuple__176;
2214 static PyObject *__pyx_tuple__178;
2215 static PyObject *__pyx_tuple__180;
2216 static PyObject *__pyx_tuple__182;
2217 static PyObject *__pyx_tuple__184;
2218 static PyObject *__pyx_tuple__186;
2219 static PyObject *__pyx_tuple__188;
2220 static PyObject *__pyx_tuple__190;
2221 static PyObject *__pyx_tuple__192;
2222 static PyObject *__pyx_tuple__194;
2223 static PyObject *__pyx_tuple__196;
2224 static PyObject *__pyx_tuple__198;
2225 static PyObject *__pyx_tuple__200;
2226 static PyObject *__pyx_tuple__202;
2227 static PyObject *__pyx_tuple__204;
2228 static PyObject *__pyx_tuple__206;
2229 static PyObject *__pyx_tuple__208;
2230 static PyObject *__pyx_tuple__210;
2231 static PyObject *__pyx_tuple__212;
2232 static PyObject *__pyx_tuple__214;
2233 static PyObject *__pyx_tuple__216;
2234 static PyObject *__pyx_tuple__218;
2235 static PyObject *__pyx_tuple__220;
2236 static PyObject *__pyx_tuple__222;
2237 static PyObject *__pyx_tuple__224;
2238 static PyObject *__pyx_tuple__226;
2239 static PyObject *__pyx_tuple__228;
2240 static PyObject *__pyx_tuple__230;
2241 static PyObject *__pyx_tuple__232;
2242 static PyObject *__pyx_tuple__234;
2243 static PyObject *__pyx_tuple__236;
2244 static PyObject *__pyx_tuple__238;
2245 static PyObject *__pyx_tuple__240;
2246 static PyObject *__pyx_tuple__242;
2247 static PyObject *__pyx_tuple__244;
2248 static PyObject *__pyx_tuple__246;
2249 static PyObject *__pyx_tuple__248;
2250 static PyObject *__pyx_tuple__250;
2251 static PyObject *__pyx_tuple__252;
2252 static PyObject *__pyx_tuple__254;
2253 static PyObject *__pyx_tuple__256;
2254 static PyObject *__pyx_tuple__258;
2255 static PyObject *__pyx_tuple__260;
2256 static PyObject *__pyx_tuple__262;
2257 static PyObject *__pyx_tuple__264;
2258 static PyObject *__pyx_tuple__266;
2259 static PyObject *__pyx_tuple__268;
2260 static PyObject *__pyx_tuple__270;
2261 static PyObject *__pyx_tuple__272;
2262 static PyObject *__pyx_tuple__274;
2263 static PyObject *__pyx_tuple__276;
2264 static PyObject *__pyx_tuple__278;
2265 static PyObject *__pyx_tuple__280;
2266 static PyObject *__pyx_tuple__282;
2267 static PyObject *__pyx_tuple__284;
2268 static PyObject *__pyx_tuple__286;
2269 static PyObject *__pyx_tuple__288;
2270 static PyObject *__pyx_tuple__290;
2271 static PyObject *__pyx_tuple__292;
2272 static PyObject *__pyx_tuple__294;
2273 static PyObject *__pyx_tuple__296;
2274 static PyObject *__pyx_tuple__298;
2275 static PyObject *__pyx_tuple__300;
2276 static PyObject *__pyx_tuple__302;
2277 static PyObject *__pyx_tuple__304;
2278 static PyObject *__pyx_tuple__306;
2279 static PyObject *__pyx_tuple__308;
2280 static PyObject *__pyx_tuple__310;
2281 static PyObject *__pyx_tuple__312;
2282 static PyObject *__pyx_tuple__314;
2283 static PyObject *__pyx_tuple__316;
2284 static PyObject *__pyx_tuple__318;
2285 static PyObject *__pyx_tuple__320;
2286 static PyObject *__pyx_tuple__322;
2287 static PyObject *__pyx_tuple__324;
2288 static PyObject *__pyx_tuple__326;
2289 static PyObject *__pyx_tuple__328;
2290 static PyObject *__pyx_tuple__330;
2291 static PyObject *__pyx_tuple__332;
2292 static PyObject *__pyx_tuple__334;
2293 static PyObject *__pyx_codeobj__77;
2294 static PyObject *__pyx_codeobj__79;
2295 static PyObject *__pyx_codeobj__81;
2296 static PyObject *__pyx_codeobj__83;
2297 static PyObject *__pyx_codeobj__85;
2298 static PyObject *__pyx_codeobj__87;
2299 static PyObject *__pyx_codeobj__89;
2300 static PyObject *__pyx_codeobj__91;
2301 static PyObject *__pyx_codeobj__93;
2302 static PyObject *__pyx_codeobj__95;
2303 static PyObject *__pyx_codeobj__97;
2304 static PyObject *__pyx_codeobj__99;
2305 static PyObject *__pyx_codeobj__101;
2306 static PyObject *__pyx_codeobj__103;
2307 static PyObject *__pyx_codeobj__105;
2308 static PyObject *__pyx_codeobj__107;
2309 static PyObject *__pyx_codeobj__109;
2310 static PyObject *__pyx_codeobj__111;
2311 static PyObject *__pyx_codeobj__113;
2312 static PyObject *__pyx_codeobj__115;
2313 static PyObject *__pyx_codeobj__117;
2314 static PyObject *__pyx_codeobj__119;
2315 static PyObject *__pyx_codeobj__121;
2316 static PyObject *__pyx_codeobj__123;
2317 static PyObject *__pyx_codeobj__125;
2318 static PyObject *__pyx_codeobj__127;
2319 static PyObject *__pyx_codeobj__129;
2320 static PyObject *__pyx_codeobj__131;
2321 static PyObject *__pyx_codeobj__133;
2322 static PyObject *__pyx_codeobj__135;
2323 static PyObject *__pyx_codeobj__137;
2324 static PyObject *__pyx_codeobj__139;
2325 static PyObject *__pyx_codeobj__141;
2326 static PyObject *__pyx_codeobj__143;
2327 static PyObject *__pyx_codeobj__145;
2328 static PyObject *__pyx_codeobj__147;
2329 static PyObject *__pyx_codeobj__149;
2330 static PyObject *__pyx_codeobj__151;
2331 static PyObject *__pyx_codeobj__153;
2332 static PyObject *__pyx_codeobj__155;
2333 static PyObject *__pyx_codeobj__157;
2334 static PyObject *__pyx_codeobj__159;
2335 static PyObject *__pyx_codeobj__161;
2336 static PyObject *__pyx_codeobj__163;
2337 static PyObject *__pyx_codeobj__165;
2338 static PyObject *__pyx_codeobj__167;
2339 static PyObject *__pyx_codeobj__169;
2340 static PyObject *__pyx_codeobj__171;
2341 static PyObject *__pyx_codeobj__173;
2342 static PyObject *__pyx_codeobj__175;
2343 static PyObject *__pyx_codeobj__177;
2344 static PyObject *__pyx_codeobj__179;
2345 static PyObject *__pyx_codeobj__181;
2346 static PyObject *__pyx_codeobj__183;
2347 static PyObject *__pyx_codeobj__185;
2348 static PyObject *__pyx_codeobj__187;
2349 static PyObject *__pyx_codeobj__189;
2350 static PyObject *__pyx_codeobj__191;
2351 static PyObject *__pyx_codeobj__193;
2352 static PyObject *__pyx_codeobj__195;
2353 static PyObject *__pyx_codeobj__197;
2354 static PyObject *__pyx_codeobj__199;
2355 static PyObject *__pyx_codeobj__201;
2356 static PyObject *__pyx_codeobj__203;
2357 static PyObject *__pyx_codeobj__205;
2358 static PyObject *__pyx_codeobj__207;
2359 static PyObject *__pyx_codeobj__209;
2360 static PyObject *__pyx_codeobj__211;
2361 static PyObject *__pyx_codeobj__213;
2362 static PyObject *__pyx_codeobj__215;
2363 static PyObject *__pyx_codeobj__217;
2364 static PyObject *__pyx_codeobj__219;
2365 static PyObject *__pyx_codeobj__221;
2366 static PyObject *__pyx_codeobj__223;
2367 static PyObject *__pyx_codeobj__225;
2368 static PyObject *__pyx_codeobj__227;
2369 static PyObject *__pyx_codeobj__229;
2370 static PyObject *__pyx_codeobj__231;
2371 static PyObject *__pyx_codeobj__233;
2372 static PyObject *__pyx_codeobj__235;
2373 static PyObject *__pyx_codeobj__237;
2374 static PyObject *__pyx_codeobj__239;
2375 static PyObject *__pyx_codeobj__241;
2376 static PyObject *__pyx_codeobj__243;
2377 static PyObject *__pyx_codeobj__245;
2378 static PyObject *__pyx_codeobj__247;
2379 static PyObject *__pyx_codeobj__249;
2380 static PyObject *__pyx_codeobj__251;
2381 static PyObject *__pyx_codeobj__253;
2382 static PyObject *__pyx_codeobj__255;
2383 static PyObject *__pyx_codeobj__257;
2384 static PyObject *__pyx_codeobj__259;
2385 static PyObject *__pyx_codeobj__261;
2386 static PyObject *__pyx_codeobj__263;
2387 static PyObject *__pyx_codeobj__265;
2388 static PyObject *__pyx_codeobj__267;
2389 static PyObject *__pyx_codeobj__269;
2390 static PyObject *__pyx_codeobj__271;
2391 static PyObject *__pyx_codeobj__273;
2392 static PyObject *__pyx_codeobj__275;
2393 static PyObject *__pyx_codeobj__277;
2394 static PyObject *__pyx_codeobj__279;
2395 static PyObject *__pyx_codeobj__281;
2396 static PyObject *__pyx_codeobj__283;
2397 static PyObject *__pyx_codeobj__285;
2398 static PyObject *__pyx_codeobj__287;
2399 static PyObject *__pyx_codeobj__289;
2400 static PyObject *__pyx_codeobj__291;
2401 static PyObject *__pyx_codeobj__293;
2402 static PyObject *__pyx_codeobj__295;
2403 static PyObject *__pyx_codeobj__297;
2404 static PyObject *__pyx_codeobj__299;
2405 static PyObject *__pyx_codeobj__301;
2406 static PyObject *__pyx_codeobj__303;
2407 static PyObject *__pyx_codeobj__305;
2408 static PyObject *__pyx_codeobj__307;
2409 static PyObject *__pyx_codeobj__309;
2410 static PyObject *__pyx_codeobj__311;
2411 static PyObject *__pyx_codeobj__313;
2412 static PyObject *__pyx_codeobj__315;
2413 static PyObject *__pyx_codeobj__317;
2414 static PyObject *__pyx_codeobj__319;
2415 static PyObject *__pyx_codeobj__321;
2416 static PyObject *__pyx_codeobj__323;
2417 static PyObject *__pyx_codeobj__325;
2418 static PyObject *__pyx_codeobj__327;
2419 static PyObject *__pyx_codeobj__329;
2420 static PyObject *__pyx_codeobj__331;
2421 static PyObject *__pyx_codeobj__333;
2422 static PyObject *__pyx_codeobj__335;
2423 
2424 /* "espressomd/interactions.pyx":27
2425  * cdef object _params
2426  *
2427  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
2428  * """Represents an instance of a non-bonded interaction, such as lennard jones
2429  * Either called with two particle type id, in which case, the interaction
2430  */
2431 
2432 /* Python wrapper */
2433 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2434 static char __pyx_doc_10espressomd_12interactions_20NonBondedInteraction___init__[] = "Represents an instance of a non-bonded interaction, such as lennard jones\n Either called with two particle type id, in which case, the interaction\n will represent the bonded interaction as it is defined in Espresso core\n Or called with keyword arguments describing a new interaction.";
2435 #if CYTHON_COMPILING_IN_CPYTHON
2436 struct wrapperbase __pyx_wrapperbase_10espressomd_12interactions_20NonBondedInteraction___init__;
2437 #endif
2438 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2439  PyObject *__pyx_v_args = 0;
2440  PyObject *__pyx_v_kwargs = 0;
2441  int __pyx_r;
2442  __Pyx_RefNannyDeclarations
2443  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
2444  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
2445  __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
2446  if (unlikely(!__pyx_v_kwargs)) return -1;
2447  __Pyx_GOTREF(__pyx_v_kwargs);
2448  __Pyx_INCREF(__pyx_args);
2449  __pyx_v_args = __pyx_args;
2450  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction___init__(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
2451 
2452  /* function exit code */
2453  __Pyx_XDECREF(__pyx_v_args);
2454  __Pyx_XDECREF(__pyx_v_kwargs);
2455  __Pyx_RefNannyFinishContext();
2456  return __pyx_r;
2457 }
2458 
2459 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction___init__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
2460  PyObject *__pyx_v_k = NULL;
2461  int __pyx_r;
2462  __Pyx_RefNannyDeclarations
2463  int __pyx_t_1;
2464  Py_ssize_t __pyx_t_2;
2465  int __pyx_t_3;
2466  PyObject *__pyx_t_4 = NULL;
2467  int __pyx_t_5;
2468  PyObject *__pyx_t_6 = NULL;
2469  PyObject *__pyx_t_7 = NULL;
2470  PyObject *(*__pyx_t_8)(PyObject *);
2471  PyObject *__pyx_t_9 = NULL;
2472  PyObject *__pyx_t_10 = NULL;
2473  int __pyx_lineno = 0;
2474  const char *__pyx_filename = NULL;
2475  int __pyx_clineno = 0;
2476  __Pyx_RefNannySetupContext("__init__", 0);
2477 
2478  /* "espressomd/interactions.pyx":34
2479  *
2480  * # Interaction id as argument
2481  * if len(args) == 2 and isinstance(args[0], int) and isinstance(args[1], int): # <<<<<<<<<<<<<<
2482  * self._partTypes = args
2483  *
2484  */
2485  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2486  __pyx_t_3 = ((__pyx_t_2 == 2) != 0);
2487  if (__pyx_t_3) {
2488  } else {
2489  __pyx_t_1 = __pyx_t_3;
2490  goto __pyx_L4_bool_binop_done;
2491  }
2492  __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
2493  __Pyx_GOTREF(__pyx_t_4);
2494  __pyx_t_3 = PyInt_Check(__pyx_t_4);
2495  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2496  __pyx_t_5 = (__pyx_t_3 != 0);
2497  if (__pyx_t_5) {
2498  } else {
2499  __pyx_t_1 = __pyx_t_5;
2500  goto __pyx_L4_bool_binop_done;
2501  }
2502  __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
2503  __Pyx_GOTREF(__pyx_t_4);
2504  __pyx_t_5 = PyInt_Check(__pyx_t_4);
2505  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2506  __pyx_t_3 = (__pyx_t_5 != 0);
2507  __pyx_t_1 = __pyx_t_3;
2508  __pyx_L4_bool_binop_done:;
2509  if (__pyx_t_1) {
2510 
2511  /* "espressomd/interactions.pyx":35
2512  * # Interaction id as argument
2513  * if len(args) == 2 and isinstance(args[0], int) and isinstance(args[1], int):
2514  * self._partTypes = args # <<<<<<<<<<<<<<
2515  *
2516  * # Load the parameters currently set in the Espresso core
2517  */
2518  __Pyx_INCREF(__pyx_v_args);
2519  __Pyx_GIVEREF(__pyx_v_args);
2520  __Pyx_GOTREF(__pyx_v_self->_partTypes);
2521  __Pyx_DECREF(__pyx_v_self->_partTypes);
2522  __pyx_v_self->_partTypes = __pyx_v_args;
2523 
2524  /* "espressomd/interactions.pyx":38
2525  *
2526  * # Load the parameters currently set in the Espresso core
2527  * self._params = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
2528  *
2529  * # Or have we been called with keyword args describing the interaction
2530  */
2531  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2532  __Pyx_GOTREF(__pyx_t_6);
2533  __pyx_t_7 = NULL;
2534  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
2535  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
2536  if (likely(__pyx_t_7)) {
2537  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
2538  __Pyx_INCREF(__pyx_t_7);
2539  __Pyx_INCREF(function);
2540  __Pyx_DECREF_SET(__pyx_t_6, function);
2541  }
2542  }
2543  if (__pyx_t_7) {
2544  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2545  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2546  } else {
2547  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2548  }
2549  __Pyx_GOTREF(__pyx_t_4);
2550  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2551  __Pyx_GIVEREF(__pyx_t_4);
2552  __Pyx_GOTREF(__pyx_v_self->_params);
2553  __Pyx_DECREF(__pyx_v_self->_params);
2554  __pyx_v_self->_params = __pyx_t_4;
2555  __pyx_t_4 = 0;
2556  goto __pyx_L3;
2557  }
2558 
2559  /* "espressomd/interactions.pyx":41
2560  *
2561  * # Or have we been called with keyword args describing the interaction
2562  * elif len(args) == 0: # <<<<<<<<<<<<<<
2563  * # Initialize default values
2564  * self._params = self.defaultParams()
2565  */
2566  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2567  __pyx_t_1 = ((__pyx_t_2 == 0) != 0);
2568  if (__pyx_t_1) {
2569 
2570  /* "espressomd/interactions.pyx":43
2571  * elif len(args) == 0:
2572  * # Initialize default values
2573  * self._params = self.defaultParams() # <<<<<<<<<<<<<<
2574  * self._partTypes = [-1, -1]
2575  *
2576  */
2577  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_defaultParams); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2578  __Pyx_GOTREF(__pyx_t_6);
2579  __pyx_t_7 = NULL;
2580  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
2581  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
2582  if (likely(__pyx_t_7)) {
2583  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
2584  __Pyx_INCREF(__pyx_t_7);
2585  __Pyx_INCREF(function);
2586  __Pyx_DECREF_SET(__pyx_t_6, function);
2587  }
2588  }
2589  if (__pyx_t_7) {
2590  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2591  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2592  } else {
2593  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2594  }
2595  __Pyx_GOTREF(__pyx_t_4);
2596  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2597  __Pyx_GIVEREF(__pyx_t_4);
2598  __Pyx_GOTREF(__pyx_v_self->_params);
2599  __Pyx_DECREF(__pyx_v_self->_params);
2600  __pyx_v_self->_params = __pyx_t_4;
2601  __pyx_t_4 = 0;
2602 
2603  /* "espressomd/interactions.pyx":44
2604  * # Initialize default values
2605  * self._params = self.defaultParams()
2606  * self._partTypes = [-1, -1] # <<<<<<<<<<<<<<
2607  *
2608  * # Check if all required keys are given
2609  */
2610  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2611  __Pyx_GOTREF(__pyx_t_4);
2612  __Pyx_INCREF(__pyx_int_neg_1);
2613  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_int_neg_1);
2614  __Pyx_GIVEREF(__pyx_int_neg_1);
2615  __Pyx_INCREF(__pyx_int_neg_1);
2616  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_int_neg_1);
2617  __Pyx_GIVEREF(__pyx_int_neg_1);
2618  __Pyx_GIVEREF(__pyx_t_4);
2619  __Pyx_GOTREF(__pyx_v_self->_partTypes);
2620  __Pyx_DECREF(__pyx_v_self->_partTypes);
2621  __pyx_v_self->_partTypes = __pyx_t_4;
2622  __pyx_t_4 = 0;
2623 
2624  /* "espressomd/interactions.pyx":47
2625  *
2626  * # Check if all required keys are given
2627  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
2628  * if k not in kwargs:
2629  * raise ValueError(
2630  */
2631  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2632  __Pyx_GOTREF(__pyx_t_6);
2633  __pyx_t_7 = NULL;
2634  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
2635  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
2636  if (likely(__pyx_t_7)) {
2637  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
2638  __Pyx_INCREF(__pyx_t_7);
2639  __Pyx_INCREF(function);
2640  __Pyx_DECREF_SET(__pyx_t_6, function);
2641  }
2642  }
2643  if (__pyx_t_7) {
2644  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2645  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2646  } else {
2647  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2648  }
2649  __Pyx_GOTREF(__pyx_t_4);
2650  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2651  if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
2652  __pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_2 = 0;
2653  __pyx_t_8 = NULL;
2654  } else {
2655  __pyx_t_2 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2656  __Pyx_GOTREF(__pyx_t_6);
2657  __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2658  }
2659  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2660  for (;;) {
2661  if (likely(!__pyx_t_8)) {
2662  if (likely(PyList_CheckExact(__pyx_t_6))) {
2663  if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_6)) break;
2664  #if CYTHON_COMPILING_IN_CPYTHON
2665  __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2666  #else
2667  __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2668  #endif
2669  } else {
2670  if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
2671  #if CYTHON_COMPILING_IN_CPYTHON
2672  __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2673  #else
2674  __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2675  #endif
2676  }
2677  } else {
2678  __pyx_t_4 = __pyx_t_8(__pyx_t_6);
2679  if (unlikely(!__pyx_t_4)) {
2680  PyObject* exc_type = PyErr_Occurred();
2681  if (exc_type) {
2682  if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
2683  else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2684  }
2685  break;
2686  }
2687  __Pyx_GOTREF(__pyx_t_4);
2688  }
2689  __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_4);
2690  __pyx_t_4 = 0;
2691 
2692  /* "espressomd/interactions.pyx":48
2693  * # Check if all required keys are given
2694  * for k in self.requiredKeys():
2695  * if k not in kwargs: # <<<<<<<<<<<<<<
2696  * raise ValueError(
2697  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
2698  */
2699  __pyx_t_1 = (__Pyx_PyDict_Contains(__pyx_v_k, __pyx_v_kwargs, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2700  __pyx_t_3 = (__pyx_t_1 != 0);
2701  if (__pyx_t_3) {
2702 
2703  /* "espressomd/interactions.pyx":50
2704  * if k not in kwargs:
2705  * raise ValueError(
2706  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__()) # <<<<<<<<<<<<<<
2707  *
2708  * self._params = kwargs
2709  */
2710  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2711  __Pyx_GOTREF(__pyx_t_9);
2712  __pyx_t_10 = NULL;
2713  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
2714  __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
2715  if (likely(__pyx_t_10)) {
2716  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
2717  __Pyx_INCREF(__pyx_t_10);
2718  __Pyx_INCREF(function);
2719  __Pyx_DECREF_SET(__pyx_t_9, function);
2720  }
2721  }
2722  if (__pyx_t_10) {
2723  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2724  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
2725  } else {
2726  __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2727  }
2728  __Pyx_GOTREF(__pyx_t_7);
2729  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2730  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_str); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2731  __Pyx_GOTREF(__pyx_t_9);
2732  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2733  __pyx_t_7 = NULL;
2734  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
2735  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9);
2736  if (likely(__pyx_t_7)) {
2737  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
2738  __Pyx_INCREF(__pyx_t_7);
2739  __Pyx_INCREF(function);
2740  __Pyx_DECREF_SET(__pyx_t_9, function);
2741  }
2742  }
2743  if (__pyx_t_7) {
2744  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2745  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2746  } else {
2747  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2748  }
2749  __Pyx_GOTREF(__pyx_t_4);
2750  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2751  __pyx_t_9 = PyNumber_Add(__pyx_kp_s_At_least_the_following_keys_have, __pyx_t_4); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2752  __Pyx_GOTREF(__pyx_t_9);
2753  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2754 
2755  /* "espressomd/interactions.pyx":49
2756  * for k in self.requiredKeys():
2757  * if k not in kwargs:
2758  * raise ValueError( # <<<<<<<<<<<<<<
2759  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
2760  *
2761  */
2762  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2763  __Pyx_GOTREF(__pyx_t_4);
2764  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_9);
2765  __Pyx_GIVEREF(__pyx_t_9);
2766  __pyx_t_9 = 0;
2767  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2768  __Pyx_GOTREF(__pyx_t_9);
2769  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2770  __Pyx_Raise(__pyx_t_9, 0, 0, 0);
2771  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2772  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2773  }
2774 
2775  /* "espressomd/interactions.pyx":47
2776  *
2777  * # Check if all required keys are given
2778  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
2779  * if k not in kwargs:
2780  * raise ValueError(
2781  */
2782  }
2783  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2784 
2785  /* "espressomd/interactions.pyx":52
2786  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
2787  *
2788  * self._params = kwargs # <<<<<<<<<<<<<<
2789  *
2790  * # Validation of parameters
2791  */
2792  __Pyx_INCREF(__pyx_v_kwargs);
2793  __Pyx_GIVEREF(__pyx_v_kwargs);
2794  __Pyx_GOTREF(__pyx_v_self->_params);
2795  __Pyx_DECREF(__pyx_v_self->_params);
2796  __pyx_v_self->_params = __pyx_v_kwargs;
2797 
2798  /* "espressomd/interactions.pyx":55
2799  *
2800  * # Validation of parameters
2801  * self.validateParams() # <<<<<<<<<<<<<<
2802  *
2803  * else:
2804  */
2805  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validateParams); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2806  __Pyx_GOTREF(__pyx_t_9);
2807  __pyx_t_4 = NULL;
2808  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
2809  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9);
2810  if (likely(__pyx_t_4)) {
2811  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
2812  __Pyx_INCREF(__pyx_t_4);
2813  __Pyx_INCREF(function);
2814  __Pyx_DECREF_SET(__pyx_t_9, function);
2815  }
2816  }
2817  if (__pyx_t_4) {
2818  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2819  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2820  } else {
2821  __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2822  }
2823  __Pyx_GOTREF(__pyx_t_6);
2824  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2825  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2826  goto __pyx_L3;
2827  }
2828  /*else*/ {
2829 
2830  /* "espressomd/interactions.pyx":58
2831  *
2832  * else:
2833  * raise Exception( # <<<<<<<<<<<<<<
2834  * "The constructor has to be called either with two particle type ids (as interger), or with a set of keyword arguments describing a new interaction")
2835  *
2836  */
2837  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2838  __Pyx_GOTREF(__pyx_t_6);
2839  __Pyx_Raise(__pyx_t_6, 0, 0, 0);
2840  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2841  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2842  }
2843  __pyx_L3:;
2844 
2845  /* "espressomd/interactions.pyx":27
2846  * cdef object _params
2847  *
2848  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
2849  * """Represents an instance of a non-bonded interaction, such as lennard jones
2850  * Either called with two particle type id, in which case, the interaction
2851  */
2852 
2853  /* function exit code */
2854  __pyx_r = 0;
2855  goto __pyx_L0;
2856  __pyx_L1_error:;
2857  __Pyx_XDECREF(__pyx_t_4);
2858  __Pyx_XDECREF(__pyx_t_6);
2859  __Pyx_XDECREF(__pyx_t_7);
2860  __Pyx_XDECREF(__pyx_t_9);
2861  __Pyx_XDECREF(__pyx_t_10);
2862  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
2863  __pyx_r = -1;
2864  __pyx_L0:;
2865  __Pyx_XDECREF(__pyx_v_k);
2866  __Pyx_RefNannyFinishContext();
2867  return __pyx_r;
2868 }
2869 
2870 /* "espressomd/interactions.pyx":61
2871  * "The constructor has to be called either with two particle type ids (as interger), or with a set of keyword arguments describing a new interaction")
2872  *
2873  * def isValid(self): # <<<<<<<<<<<<<<
2874  * """Check, if the data stored in the instance still matches what is in Espresso"""
2875  *
2876  */
2877 
2878 /* Python wrapper */
2879 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_3isValid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
2880 static char __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_2isValid[] = "Check, if the data stored in the instance still matches what is in Espresso";
2881 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_3isValid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
2882  PyObject *__pyx_r = 0;
2883  __Pyx_RefNannyDeclarations
2884  __Pyx_RefNannySetupContext("isValid (wrapper)", 0);
2885  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_2isValid(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
2886 
2887  /* function exit code */
2888  __Pyx_RefNannyFinishContext();
2889  return __pyx_r;
2890 }
2891 
2892 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_2isValid(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
2893  PyObject *__pyx_v_tempParams = NULL;
2894  PyObject *__pyx_r = NULL;
2895  __Pyx_RefNannyDeclarations
2896  PyObject *__pyx_t_1 = NULL;
2897  PyObject *__pyx_t_2 = NULL;
2898  PyObject *__pyx_t_3 = NULL;
2899  int __pyx_t_4;
2900  int __pyx_lineno = 0;
2901  const char *__pyx_filename = NULL;
2902  int __pyx_clineno = 0;
2903  __Pyx_RefNannySetupContext("isValid", 0);
2904 
2905  /* "espressomd/interactions.pyx":66
2906  * # check, if the bond parameters saved in the class still match those
2907  * # saved in Espresso
2908  * tempParams = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
2909  * if self._params != tempParams:
2910  * return False
2911  */
2912  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2913  __Pyx_GOTREF(__pyx_t_2);
2914  __pyx_t_3 = NULL;
2915  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
2916  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
2917  if (likely(__pyx_t_3)) {
2918  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
2919  __Pyx_INCREF(__pyx_t_3);
2920  __Pyx_INCREF(function);
2921  __Pyx_DECREF_SET(__pyx_t_2, function);
2922  }
2923  }
2924  if (__pyx_t_3) {
2925  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2926  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2927  } else {
2928  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2929  }
2930  __Pyx_GOTREF(__pyx_t_1);
2931  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2932  __pyx_v_tempParams = __pyx_t_1;
2933  __pyx_t_1 = 0;
2934 
2935  /* "espressomd/interactions.pyx":67
2936  * # saved in Espresso
2937  * tempParams = self._getParamsFromEsCore()
2938  * if self._params != tempParams: # <<<<<<<<<<<<<<
2939  * return False
2940  *
2941  */
2942  __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->_params, __pyx_v_tempParams, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2943  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2944  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2945  if (__pyx_t_4) {
2946 
2947  /* "espressomd/interactions.pyx":68
2948  * tempParams = self._getParamsFromEsCore()
2949  * if self._params != tempParams:
2950  * return False # <<<<<<<<<<<<<<
2951  *
2952  * # If we're still here, the instance is valid
2953  */
2954  __Pyx_XDECREF(__pyx_r);
2955  __Pyx_INCREF(Py_False);
2956  __pyx_r = Py_False;
2957  goto __pyx_L0;
2958  }
2959 
2960  /* "espressomd/interactions.pyx":71
2961  *
2962  * # If we're still here, the instance is valid
2963  * return True # <<<<<<<<<<<<<<
2964  *
2965  * def getParams(self):
2966  */
2967  __Pyx_XDECREF(__pyx_r);
2968  __Pyx_INCREF(Py_True);
2969  __pyx_r = Py_True;
2970  goto __pyx_L0;
2971 
2972  /* "espressomd/interactions.pyx":61
2973  * "The constructor has to be called either with two particle type ids (as interger), or with a set of keyword arguments describing a new interaction")
2974  *
2975  * def isValid(self): # <<<<<<<<<<<<<<
2976  * """Check, if the data stored in the instance still matches what is in Espresso"""
2977  *
2978  */
2979 
2980  /* function exit code */
2981  __pyx_L1_error:;
2982  __Pyx_XDECREF(__pyx_t_1);
2983  __Pyx_XDECREF(__pyx_t_2);
2984  __Pyx_XDECREF(__pyx_t_3);
2985  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.isValid", __pyx_clineno, __pyx_lineno, __pyx_filename);
2986  __pyx_r = NULL;
2987  __pyx_L0:;
2988  __Pyx_XDECREF(__pyx_v_tempParams);
2989  __Pyx_XGIVEREF(__pyx_r);
2990  __Pyx_RefNannyFinishContext();
2991  return __pyx_r;
2992 }
2993 
2994 /* "espressomd/interactions.pyx":73
2995  * return True
2996  *
2997  * def getParams(self): # <<<<<<<<<<<<<<
2998  * """Get interaction parameters"""
2999  * # If this instance refers to an actual interaction defined in the es core, load
3000  */
3001 
3002 /* Python wrapper */
3003 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_5getParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3004 static char __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_4getParams[] = "Get interaction parameters";
3005 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_5getParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3006  PyObject *__pyx_r = 0;
3007  __Pyx_RefNannyDeclarations
3008  __Pyx_RefNannySetupContext("getParams (wrapper)", 0);
3009  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_4getParams(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3010 
3011  /* function exit code */
3012  __Pyx_RefNannyFinishContext();
3013  return __pyx_r;
3014 }
3015 
3016 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_4getParams(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3017  PyObject *__pyx_r = NULL;
3018  __Pyx_RefNannyDeclarations
3019  int __pyx_t_1;
3020  PyObject *__pyx_t_2 = NULL;
3021  PyObject *__pyx_t_3 = NULL;
3022  int __pyx_t_4;
3023  PyObject *__pyx_t_5 = NULL;
3024  int __pyx_lineno = 0;
3025  const char *__pyx_filename = NULL;
3026  int __pyx_clineno = 0;
3027  __Pyx_RefNannySetupContext("getParams", 0);
3028 
3029  /* "espressomd/interactions.pyx":77
3030  * # If this instance refers to an actual interaction defined in the es core, load
3031  * # current parameters from there
3032  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0: # <<<<<<<<<<<<<<
3033  * self._params = self._getParamsFromEsCore()
3034  *
3035  */
3036  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3037  __Pyx_GOTREF(__pyx_t_2);
3038  __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3039  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3040  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3041  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3042  if (__pyx_t_4) {
3043  } else {
3044  __pyx_t_1 = __pyx_t_4;
3045  goto __pyx_L4_bool_binop_done;
3046  }
3047  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3048  __Pyx_GOTREF(__pyx_t_3);
3049  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3050  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3051  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3052  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3053  __pyx_t_1 = __pyx_t_4;
3054  __pyx_L4_bool_binop_done:;
3055  if (__pyx_t_1) {
3056 
3057  /* "espressomd/interactions.pyx":78
3058  * # current parameters from there
3059  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
3060  * self._params = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
3061  *
3062  * return self._params
3063  */
3064  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3065  __Pyx_GOTREF(__pyx_t_3);
3066  __pyx_t_5 = NULL;
3067  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
3068  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
3069  if (likely(__pyx_t_5)) {
3070  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
3071  __Pyx_INCREF(__pyx_t_5);
3072  __Pyx_INCREF(function);
3073  __Pyx_DECREF_SET(__pyx_t_3, function);
3074  }
3075  }
3076  if (__pyx_t_5) {
3077  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3078  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3079  } else {
3080  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3081  }
3082  __Pyx_GOTREF(__pyx_t_2);
3083  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3084  __Pyx_GIVEREF(__pyx_t_2);
3085  __Pyx_GOTREF(__pyx_v_self->_params);
3086  __Pyx_DECREF(__pyx_v_self->_params);
3087  __pyx_v_self->_params = __pyx_t_2;
3088  __pyx_t_2 = 0;
3089  goto __pyx_L3;
3090  }
3091  __pyx_L3:;
3092 
3093  /* "espressomd/interactions.pyx":80
3094  * self._params = self._getParamsFromEsCore()
3095  *
3096  * return self._params # <<<<<<<<<<<<<<
3097  *
3098  * def setParams(self, **p):
3099  */
3100  __Pyx_XDECREF(__pyx_r);
3101  __Pyx_INCREF(__pyx_v_self->_params);
3102  __pyx_r = __pyx_v_self->_params;
3103  goto __pyx_L0;
3104 
3105  /* "espressomd/interactions.pyx":73
3106  * return True
3107  *
3108  * def getParams(self): # <<<<<<<<<<<<<<
3109  * """Get interaction parameters"""
3110  * # If this instance refers to an actual interaction defined in the es core, load
3111  */
3112 
3113  /* function exit code */
3114  __pyx_L1_error:;
3115  __Pyx_XDECREF(__pyx_t_2);
3116  __Pyx_XDECREF(__pyx_t_3);
3117  __Pyx_XDECREF(__pyx_t_5);
3118  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.getParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
3119  __pyx_r = NULL;
3120  __pyx_L0:;
3121  __Pyx_XGIVEREF(__pyx_r);
3122  __Pyx_RefNannyFinishContext();
3123  return __pyx_r;
3124 }
3125 
3126 /* "espressomd/interactions.pyx":82
3127  * return self._params
3128  *
3129  * def setParams(self, **p): # <<<<<<<<<<<<<<
3130  * """Update parameters. Only given """
3131  * # Check, if any key was passed, which is not known
3132  */
3133 
3134 /* Python wrapper */
3135 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_7setParams(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
3136 static char __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_6setParams[] = "Update parameters. Only given ";
3137 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_7setParams(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3138  PyObject *__pyx_v_p = 0;
3139  PyObject *__pyx_r = 0;
3140  __Pyx_RefNannyDeclarations
3141  __Pyx_RefNannySetupContext("setParams (wrapper)", 0);
3142  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
3143  __Pyx_RaiseArgtupleInvalid("setParams", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
3144  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "setParams", 1))) return NULL;
3145  __pyx_v_p = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
3146  if (unlikely(!__pyx_v_p)) return NULL;
3147  __Pyx_GOTREF(__pyx_v_p);
3148  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_6setParams(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self), __pyx_v_p);
3149 
3150  /* function exit code */
3151  __Pyx_XDECREF(__pyx_v_p);
3152  __Pyx_RefNannyFinishContext();
3153  return __pyx_r;
3154 }
3155 
3156 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_6setParams(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_p) {
3157  PyObject *__pyx_v_k = NULL;
3158  PyObject *__pyx_r = NULL;
3159  __Pyx_RefNannyDeclarations
3160  PyObject *__pyx_t_1 = NULL;
3161  PyObject *__pyx_t_2 = NULL;
3162  Py_ssize_t __pyx_t_3;
3163  PyObject *(*__pyx_t_4)(PyObject *);
3164  PyObject *__pyx_t_5 = NULL;
3165  PyObject *__pyx_t_6 = NULL;
3166  int __pyx_t_7;
3167  int __pyx_t_8;
3168  PyObject *__pyx_t_9 = NULL;
3169  int __pyx_lineno = 0;
3170  const char *__pyx_filename = NULL;
3171  int __pyx_clineno = 0;
3172  __Pyx_RefNannySetupContext("setParams", 0);
3173 
3174  /* "espressomd/interactions.pyx":85
3175  * """Update parameters. Only given """
3176  * # Check, if any key was passed, which is not known
3177  * for k in p.keys(): # <<<<<<<<<<<<<<
3178  * if k not in self.validKeys():
3179  * raise ValueError(
3180  */
3181  __pyx_t_1 = __Pyx_PyDict_Keys(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3182  __Pyx_GOTREF(__pyx_t_1);
3183  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
3184  __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
3185  __pyx_t_4 = NULL;
3186  } else {
3187  __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3188  __Pyx_GOTREF(__pyx_t_2);
3189  __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3190  }
3191  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3192  for (;;) {
3193  if (likely(!__pyx_t_4)) {
3194  if (likely(PyList_CheckExact(__pyx_t_2))) {
3195  if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
3196  #if CYTHON_COMPILING_IN_CPYTHON
3197  __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3198  #else
3199  __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3200  #endif
3201  } else {
3202  if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
3203  #if CYTHON_COMPILING_IN_CPYTHON
3204  __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3205  #else
3206  __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3207  #endif
3208  }
3209  } else {
3210  __pyx_t_1 = __pyx_t_4(__pyx_t_2);
3211  if (unlikely(!__pyx_t_1)) {
3212  PyObject* exc_type = PyErr_Occurred();
3213  if (exc_type) {
3214  if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
3215  else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3216  }
3217  break;
3218  }
3219  __Pyx_GOTREF(__pyx_t_1);
3220  }
3221  __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_1);
3222  __pyx_t_1 = 0;
3223 
3224  /* "espressomd/interactions.pyx":86
3225  * # Check, if any key was passed, which is not known
3226  * for k in p.keys():
3227  * if k not in self.validKeys(): # <<<<<<<<<<<<<<
3228  * raise ValueError(
3229  * "Only the following keys are supported: " + self.validKeys().__str__())
3230  */
3231  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validKeys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3232  __Pyx_GOTREF(__pyx_t_5);
3233  __pyx_t_6 = NULL;
3234  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3235  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
3236  if (likely(__pyx_t_6)) {
3237  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3238  __Pyx_INCREF(__pyx_t_6);
3239  __Pyx_INCREF(function);
3240  __Pyx_DECREF_SET(__pyx_t_5, function);
3241  }
3242  }
3243  if (__pyx_t_6) {
3244  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3245  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3246  } else {
3247  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3248  }
3249  __Pyx_GOTREF(__pyx_t_1);
3250  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3251  __pyx_t_7 = (__Pyx_PySequence_Contains(__pyx_v_k, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3252  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3253  __pyx_t_8 = (__pyx_t_7 != 0);
3254  if (__pyx_t_8) {
3255 
3256  /* "espressomd/interactions.pyx":88
3257  * if k not in self.validKeys():
3258  * raise ValueError(
3259  * "Only the following keys are supported: " + self.validKeys().__str__()) # <<<<<<<<<<<<<<
3260  *
3261  * # When an interaction is newly activated, all required keys must be
3262  */
3263  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validKeys); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3264  __Pyx_GOTREF(__pyx_t_6);
3265  __pyx_t_9 = NULL;
3266  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
3267  __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
3268  if (likely(__pyx_t_9)) {
3269  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
3270  __Pyx_INCREF(__pyx_t_9);
3271  __Pyx_INCREF(function);
3272  __Pyx_DECREF_SET(__pyx_t_6, function);
3273  }
3274  }
3275  if (__pyx_t_9) {
3276  __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3277  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3278  } else {
3279  __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3280  }
3281  __Pyx_GOTREF(__pyx_t_5);
3282  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3283  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_str); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3284  __Pyx_GOTREF(__pyx_t_6);
3285  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3286  __pyx_t_5 = NULL;
3287  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
3288  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
3289  if (likely(__pyx_t_5)) {
3290  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
3291  __Pyx_INCREF(__pyx_t_5);
3292  __Pyx_INCREF(function);
3293  __Pyx_DECREF_SET(__pyx_t_6, function);
3294  }
3295  }
3296  if (__pyx_t_5) {
3297  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3298  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3299  } else {
3300  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3301  }
3302  __Pyx_GOTREF(__pyx_t_1);
3303  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3304  __pyx_t_6 = PyNumber_Add(__pyx_kp_s_Only_the_following_keys_are_supp, __pyx_t_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3305  __Pyx_GOTREF(__pyx_t_6);
3306  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3307 
3308  /* "espressomd/interactions.pyx":87
3309  * for k in p.keys():
3310  * if k not in self.validKeys():
3311  * raise ValueError( # <<<<<<<<<<<<<<
3312  * "Only the following keys are supported: " + self.validKeys().__str__())
3313  *
3314  */
3315  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3316  __Pyx_GOTREF(__pyx_t_1);
3317  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
3318  __Pyx_GIVEREF(__pyx_t_6);
3319  __pyx_t_6 = 0;
3320  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3321  __Pyx_GOTREF(__pyx_t_6);
3322  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3323  __Pyx_Raise(__pyx_t_6, 0, 0, 0);
3324  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3325  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3326  }
3327 
3328  /* "espressomd/interactions.pyx":85
3329  * """Update parameters. Only given """
3330  * # Check, if any key was passed, which is not known
3331  * for k in p.keys(): # <<<<<<<<<<<<<<
3332  * if k not in self.validKeys():
3333  * raise ValueError(
3334  */
3335  }
3336  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3337 
3338  /* "espressomd/interactions.pyx":92
3339  * # When an interaction is newly activated, all required keys must be
3340  * # given
3341  * if not self.isActive(): # <<<<<<<<<<<<<<
3342  * for k in self.requiredKeys():
3343  * if k not in p:
3344  */
3345  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_isActive); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3346  __Pyx_GOTREF(__pyx_t_6);
3347  __pyx_t_1 = NULL;
3348  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
3349  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
3350  if (likely(__pyx_t_1)) {
3351  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
3352  __Pyx_INCREF(__pyx_t_1);
3353  __Pyx_INCREF(function);
3354  __Pyx_DECREF_SET(__pyx_t_6, function);
3355  }
3356  }
3357  if (__pyx_t_1) {
3358  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3359  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3360  } else {
3361  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3362  }
3363  __Pyx_GOTREF(__pyx_t_2);
3364  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3365  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3366  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3367  __pyx_t_7 = ((!__pyx_t_8) != 0);
3368  if (__pyx_t_7) {
3369 
3370  /* "espressomd/interactions.pyx":93
3371  * # given
3372  * if not self.isActive():
3373  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
3374  * if k not in p:
3375  * raise ValueError(
3376  */
3377  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3378  __Pyx_GOTREF(__pyx_t_6);
3379  __pyx_t_1 = NULL;
3380  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
3381  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
3382  if (likely(__pyx_t_1)) {
3383  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
3384  __Pyx_INCREF(__pyx_t_1);
3385  __Pyx_INCREF(function);
3386  __Pyx_DECREF_SET(__pyx_t_6, function);
3387  }
3388  }
3389  if (__pyx_t_1) {
3390  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3391  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3392  } else {
3393  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3394  }
3395  __Pyx_GOTREF(__pyx_t_2);
3396  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3397  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
3398  __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __pyx_t_3 = 0;
3399  __pyx_t_4 = NULL;
3400  } else {
3401  __pyx_t_3 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3402  __Pyx_GOTREF(__pyx_t_6);
3403  __pyx_t_4 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3404  }
3405  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3406  for (;;) {
3407  if (likely(!__pyx_t_4)) {
3408  if (likely(PyList_CheckExact(__pyx_t_6))) {
3409  if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_6)) break;
3410  #if CYTHON_COMPILING_IN_CPYTHON
3411  __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3412  #else
3413  __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3414  #endif
3415  } else {
3416  if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
3417  #if CYTHON_COMPILING_IN_CPYTHON
3418  __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3419  #else
3420  __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3421  #endif
3422  }
3423  } else {
3424  __pyx_t_2 = __pyx_t_4(__pyx_t_6);
3425  if (unlikely(!__pyx_t_2)) {
3426  PyObject* exc_type = PyErr_Occurred();
3427  if (exc_type) {
3428  if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
3429  else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3430  }
3431  break;
3432  }
3433  __Pyx_GOTREF(__pyx_t_2);
3434  }
3435  __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2);
3436  __pyx_t_2 = 0;
3437 
3438  /* "espressomd/interactions.pyx":94
3439  * if not self.isActive():
3440  * for k in self.requiredKeys():
3441  * if k not in p: # <<<<<<<<<<<<<<
3442  * raise ValueError(
3443  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
3444  */
3445  __pyx_t_7 = (__Pyx_PyDict_Contains(__pyx_v_k, __pyx_v_p, Py_NE)); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3446  __pyx_t_8 = (__pyx_t_7 != 0);
3447  if (__pyx_t_8) {
3448 
3449  /* "espressomd/interactions.pyx":96
3450  * if k not in p:
3451  * raise ValueError(
3452  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__()) # <<<<<<<<<<<<<<
3453  *
3454  * # If this instance refers to an interaction defined in the espresso core,
3455  */
3456  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3457  __Pyx_GOTREF(__pyx_t_5);
3458  __pyx_t_9 = NULL;
3459  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3460  __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
3461  if (likely(__pyx_t_9)) {
3462  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3463  __Pyx_INCREF(__pyx_t_9);
3464  __Pyx_INCREF(function);
3465  __Pyx_DECREF_SET(__pyx_t_5, function);
3466  }
3467  }
3468  if (__pyx_t_9) {
3469  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3470  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3471  } else {
3472  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3473  }
3474  __Pyx_GOTREF(__pyx_t_1);
3475  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3476  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_str); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3477  __Pyx_GOTREF(__pyx_t_5);
3478  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3479  __pyx_t_1 = NULL;
3480  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3481  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
3482  if (likely(__pyx_t_1)) {
3483  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3484  __Pyx_INCREF(__pyx_t_1);
3485  __Pyx_INCREF(function);
3486  __Pyx_DECREF_SET(__pyx_t_5, function);
3487  }
3488  }
3489  if (__pyx_t_1) {
3490  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3491  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3492  } else {
3493  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3494  }
3495  __Pyx_GOTREF(__pyx_t_2);
3496  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3497  __pyx_t_5 = PyNumber_Add(__pyx_kp_s_At_least_the_following_keys_have, __pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3498  __Pyx_GOTREF(__pyx_t_5);
3499  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3500 
3501  /* "espressomd/interactions.pyx":95
3502  * for k in self.requiredKeys():
3503  * if k not in p:
3504  * raise ValueError( # <<<<<<<<<<<<<<
3505  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
3506  *
3507  */
3508  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3509  __Pyx_GOTREF(__pyx_t_2);
3510  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
3511  __Pyx_GIVEREF(__pyx_t_5);
3512  __pyx_t_5 = 0;
3513  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3514  __Pyx_GOTREF(__pyx_t_5);
3515  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3516  __Pyx_Raise(__pyx_t_5, 0, 0, 0);
3517  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3518  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3519  }
3520 
3521  /* "espressomd/interactions.pyx":93
3522  * # given
3523  * if not self.isActive():
3524  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
3525  * if k not in p:
3526  * raise ValueError(
3527  */
3528  }
3529  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3530  goto __pyx_L6;
3531  }
3532  __pyx_L6:;
3533 
3534  /* "espressomd/interactions.pyx":101
3535  * # load the parameters from there
3536  *
3537  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0: # <<<<<<<<<<<<<<
3538  * self._params = self._getParamsFromEsCore()
3539  *
3540  */
3541  __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3542  __Pyx_GOTREF(__pyx_t_6);
3543  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3544  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3545  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3546  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3547  if (__pyx_t_7) {
3548  } else {
3549  __pyx_t_8 = __pyx_t_7;
3550  goto __pyx_L11_bool_binop_done;
3551  }
3552  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3553  __Pyx_GOTREF(__pyx_t_5);
3554  __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3555  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3556  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3557  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3558  __pyx_t_8 = __pyx_t_7;
3559  __pyx_L11_bool_binop_done:;
3560  if (__pyx_t_8) {
3561 
3562  /* "espressomd/interactions.pyx":102
3563  *
3564  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
3565  * self._params = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
3566  *
3567  * # Put in values given by the user
3568  */
3569  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3570  __Pyx_GOTREF(__pyx_t_5);
3571  __pyx_t_2 = NULL;
3572  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3573  __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
3574  if (likely(__pyx_t_2)) {
3575  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3576  __Pyx_INCREF(__pyx_t_2);
3577  __Pyx_INCREF(function);
3578  __Pyx_DECREF_SET(__pyx_t_5, function);
3579  }
3580  }
3581  if (__pyx_t_2) {
3582  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3583  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3584  } else {
3585  __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3586  }
3587  __Pyx_GOTREF(__pyx_t_6);
3588  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3589  __Pyx_GIVEREF(__pyx_t_6);
3590  __Pyx_GOTREF(__pyx_v_self->_params);
3591  __Pyx_DECREF(__pyx_v_self->_params);
3592  __pyx_v_self->_params = __pyx_t_6;
3593  __pyx_t_6 = 0;
3594  goto __pyx_L10;
3595  }
3596  __pyx_L10:;
3597 
3598  /* "espressomd/interactions.pyx":105
3599  *
3600  * # Put in values given by the user
3601  * self._params.update(p) # <<<<<<<<<<<<<<
3602  *
3603  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
3604  */
3605  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_params, __pyx_n_s_update); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3606  __Pyx_GOTREF(__pyx_t_5);
3607  __pyx_t_2 = NULL;
3608  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3609  __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
3610  if (likely(__pyx_t_2)) {
3611  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3612  __Pyx_INCREF(__pyx_t_2);
3613  __Pyx_INCREF(function);
3614  __Pyx_DECREF_SET(__pyx_t_5, function);
3615  }
3616  }
3617  if (!__pyx_t_2) {
3618  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_p); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3619  __Pyx_GOTREF(__pyx_t_6);
3620  } else {
3621  __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3622  __Pyx_GOTREF(__pyx_t_1);
3623  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = NULL;
3624  __Pyx_INCREF(__pyx_v_p);
3625  PyTuple_SET_ITEM(__pyx_t_1, 0+1, __pyx_v_p);
3626  __Pyx_GIVEREF(__pyx_v_p);
3627  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3628  __Pyx_GOTREF(__pyx_t_6);
3629  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3630  }
3631  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3632  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3633 
3634  /* "espressomd/interactions.pyx":107
3635  * self._params.update(p)
3636  *
3637  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0: # <<<<<<<<<<<<<<
3638  * self._setParamsInEsCore()
3639  *
3640  */
3641  __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3642  __Pyx_GOTREF(__pyx_t_6);
3643  __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3644  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3645  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3646  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3647  if (__pyx_t_7) {
3648  } else {
3649  __pyx_t_8 = __pyx_t_7;
3650  goto __pyx_L14_bool_binop_done;
3651  }
3652  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3653  __Pyx_GOTREF(__pyx_t_5);
3654  __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3655  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3656  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3657  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3658  __pyx_t_8 = __pyx_t_7;
3659  __pyx_L14_bool_binop_done:;
3660  if (__pyx_t_8) {
3661 
3662  /* "espressomd/interactions.pyx":108
3663  *
3664  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
3665  * self._setParamsInEsCore() # <<<<<<<<<<<<<<
3666  *
3667  * def validateParams(self):
3668  */
3669  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_setParamsInEsCore); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3670  __Pyx_GOTREF(__pyx_t_5);
3671  __pyx_t_1 = NULL;
3672  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_5))) {
3673  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
3674  if (likely(__pyx_t_1)) {
3675  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
3676  __Pyx_INCREF(__pyx_t_1);
3677  __Pyx_INCREF(function);
3678  __Pyx_DECREF_SET(__pyx_t_5, function);
3679  }
3680  }
3681  if (__pyx_t_1) {
3682  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3683  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3684  } else {
3685  __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3686  }
3687  __Pyx_GOTREF(__pyx_t_6);
3688  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3689  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3690  goto __pyx_L13;
3691  }
3692  __pyx_L13:;
3693 
3694  /* "espressomd/interactions.pyx":82
3695  * return self._params
3696  *
3697  * def setParams(self, **p): # <<<<<<<<<<<<<<
3698  * """Update parameters. Only given """
3699  * # Check, if any key was passed, which is not known
3700  */
3701 
3702  /* function exit code */
3703  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3704  goto __pyx_L0;
3705  __pyx_L1_error:;
3706  __Pyx_XDECREF(__pyx_t_1);
3707  __Pyx_XDECREF(__pyx_t_2);
3708  __Pyx_XDECREF(__pyx_t_5);
3709  __Pyx_XDECREF(__pyx_t_6);
3710  __Pyx_XDECREF(__pyx_t_9);
3711  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.setParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
3712  __pyx_r = NULL;
3713  __pyx_L0:;
3714  __Pyx_XDECREF(__pyx_v_k);
3715  __Pyx_XGIVEREF(__pyx_r);
3716  __Pyx_RefNannyFinishContext();
3717  return __pyx_r;
3718 }
3719 
3720 /* "espressomd/interactions.pyx":110
3721  * self._setParamsInEsCore()
3722  *
3723  * def validateParams(self): # <<<<<<<<<<<<<<
3724  * return True
3725  *
3726  */
3727 
3728 /* Python wrapper */
3729 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_9validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3730 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_9validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3731  PyObject *__pyx_r = 0;
3732  __Pyx_RefNannyDeclarations
3733  __Pyx_RefNannySetupContext("validateParams (wrapper)", 0);
3734  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_8validateParams(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3735 
3736  /* function exit code */
3737  __Pyx_RefNannyFinishContext();
3738  return __pyx_r;
3739 }
3740 
3741 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_8validateParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3742  PyObject *__pyx_r = NULL;
3743  __Pyx_RefNannyDeclarations
3744  __Pyx_RefNannySetupContext("validateParams", 0);
3745 
3746  /* "espressomd/interactions.pyx":111
3747  *
3748  * def validateParams(self):
3749  * return True # <<<<<<<<<<<<<<
3750  *
3751  * def _getParamsFromEsCore(self):
3752  */
3753  __Pyx_XDECREF(__pyx_r);
3754  __Pyx_INCREF(Py_True);
3755  __pyx_r = Py_True;
3756  goto __pyx_L0;
3757 
3758  /* "espressomd/interactions.pyx":110
3759  * self._setParamsInEsCore()
3760  *
3761  * def validateParams(self): # <<<<<<<<<<<<<<
3762  * return True
3763  *
3764  */
3765 
3766  /* function exit code */
3767  __pyx_L0:;
3768  __Pyx_XGIVEREF(__pyx_r);
3769  __Pyx_RefNannyFinishContext();
3770  return __pyx_r;
3771 }
3772 
3773 /* "espressomd/interactions.pyx":113
3774  * return True
3775  *
3776  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
3777  * raise Exception(
3778  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
3779  */
3780 
3781 /* Python wrapper */
3782 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_11_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3783 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_11_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3784  PyObject *__pyx_r = 0;
3785  __Pyx_RefNannyDeclarations
3786  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
3787  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_getParamsFromEsCore(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3788 
3789  /* function exit code */
3790  __Pyx_RefNannyFinishContext();
3791  return __pyx_r;
3792 }
3793 
3794 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_getParamsFromEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3795  PyObject *__pyx_r = NULL;
3796  __Pyx_RefNannyDeclarations
3797  PyObject *__pyx_t_1 = NULL;
3798  int __pyx_lineno = 0;
3799  const char *__pyx_filename = NULL;
3800  int __pyx_clineno = 0;
3801  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
3802 
3803  /* "espressomd/interactions.pyx":114
3804  *
3805  * def _getParamsFromEsCore(self):
3806  * raise Exception( # <<<<<<<<<<<<<<
3807  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
3808  *
3809  */
3810  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3811  __Pyx_GOTREF(__pyx_t_1);
3812  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
3813  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3814  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3815 
3816  /* "espressomd/interactions.pyx":113
3817  * return True
3818  *
3819  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
3820  * raise Exception(
3821  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
3822  */
3823 
3824  /* function exit code */
3825  __pyx_L1_error:;
3826  __Pyx_XDECREF(__pyx_t_1);
3827  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
3828  __pyx_r = NULL;
3829  __Pyx_XGIVEREF(__pyx_r);
3830  __Pyx_RefNannyFinishContext();
3831  return __pyx_r;
3832 }
3833 
3834 /* "espressomd/interactions.pyx":117
3835  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
3836  *
3837  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
3838  * raise Exception(
3839  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
3840  */
3841 
3842 /* Python wrapper */
3843 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_13_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3844 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_13_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3845  PyObject *__pyx_r = 0;
3846  __Pyx_RefNannyDeclarations
3847  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
3848  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_12_setParamsInEsCore(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3849 
3850  /* function exit code */
3851  __Pyx_RefNannyFinishContext();
3852  return __pyx_r;
3853 }
3854 
3855 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_12_setParamsInEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3856  PyObject *__pyx_r = NULL;
3857  __Pyx_RefNannyDeclarations
3858  PyObject *__pyx_t_1 = NULL;
3859  int __pyx_lineno = 0;
3860  const char *__pyx_filename = NULL;
3861  int __pyx_clineno = 0;
3862  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
3863 
3864  /* "espressomd/interactions.pyx":118
3865  *
3866  * def _setParamsInEsCore(self):
3867  * raise Exception( # <<<<<<<<<<<<<<
3868  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
3869  *
3870  */
3871  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3872  __Pyx_GOTREF(__pyx_t_1);
3873  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
3874  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3875  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3876 
3877  /* "espressomd/interactions.pyx":117
3878  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
3879  *
3880  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
3881  * raise Exception(
3882  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
3883  */
3884 
3885  /* function exit code */
3886  __pyx_L1_error:;
3887  __Pyx_XDECREF(__pyx_t_1);
3888  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
3889  __pyx_r = NULL;
3890  __Pyx_XGIVEREF(__pyx_r);
3891  __Pyx_RefNannyFinishContext();
3892  return __pyx_r;
3893 }
3894 
3895 /* "espressomd/interactions.pyx":121
3896  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
3897  *
3898  * def defaultParams(self): # <<<<<<<<<<<<<<
3899  * raise Exception(
3900  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
3901  */
3902 
3903 /* Python wrapper */
3904 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_15defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3905 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_15defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3906  PyObject *__pyx_r = 0;
3907  __Pyx_RefNannyDeclarations
3908  __Pyx_RefNannySetupContext("defaultParams (wrapper)", 0);
3909  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_14defaultParams(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3910 
3911  /* function exit code */
3912  __Pyx_RefNannyFinishContext();
3913  return __pyx_r;
3914 }
3915 
3916 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_14defaultParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3917  PyObject *__pyx_r = NULL;
3918  __Pyx_RefNannyDeclarations
3919  PyObject *__pyx_t_1 = NULL;
3920  int __pyx_lineno = 0;
3921  const char *__pyx_filename = NULL;
3922  int __pyx_clineno = 0;
3923  __Pyx_RefNannySetupContext("defaultParams", 0);
3924 
3925  /* "espressomd/interactions.pyx":122
3926  *
3927  * def defaultParams(self):
3928  * raise Exception( # <<<<<<<<<<<<<<
3929  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
3930  *
3931  */
3932  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3933  __Pyx_GOTREF(__pyx_t_1);
3934  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
3935  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3936  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3937 
3938  /* "espressomd/interactions.pyx":121
3939  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
3940  *
3941  * def defaultParams(self): # <<<<<<<<<<<<<<
3942  * raise Exception(
3943  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
3944  */
3945 
3946  /* function exit code */
3947  __pyx_L1_error:;
3948  __Pyx_XDECREF(__pyx_t_1);
3949  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.defaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
3950  __pyx_r = NULL;
3951  __Pyx_XGIVEREF(__pyx_r);
3952  __Pyx_RefNannyFinishContext();
3953  return __pyx_r;
3954 }
3955 
3956 /* "espressomd/interactions.pyx":125
3957  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
3958  *
3959  * def isActive(self): # <<<<<<<<<<<<<<
3960  * # If this instance refers to an actual interaction defined in the es core, load
3961  * # current parameters from there
3962  */
3963 
3964 /* Python wrapper */
3965 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_17isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
3966 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_17isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
3967  PyObject *__pyx_r = 0;
3968  __Pyx_RefNannyDeclarations
3969  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
3970  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_16isActive(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
3971 
3972  /* function exit code */
3973  __Pyx_RefNannyFinishContext();
3974  return __pyx_r;
3975 }
3976 
3977 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_16isActive(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
3978  PyObject *__pyx_r = NULL;
3979  __Pyx_RefNannyDeclarations
3980  int __pyx_t_1;
3981  PyObject *__pyx_t_2 = NULL;
3982  PyObject *__pyx_t_3 = NULL;
3983  int __pyx_t_4;
3984  PyObject *__pyx_t_5 = NULL;
3985  int __pyx_lineno = 0;
3986  const char *__pyx_filename = NULL;
3987  int __pyx_clineno = 0;
3988  __Pyx_RefNannySetupContext("isActive", 0);
3989 
3990  /* "espressomd/interactions.pyx":128
3991  * # If this instance refers to an actual interaction defined in the es core, load
3992  * # current parameters from there
3993  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0: # <<<<<<<<<<<<<<
3994  * self._params = self._getParamsFromEsCore()
3995  * raise Exception(
3996  */
3997  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
3998  __Pyx_GOTREF(__pyx_t_2);
3999  __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4000  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4001  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4002  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4003  if (__pyx_t_4) {
4004  } else {
4005  __pyx_t_1 = __pyx_t_4;
4006  goto __pyx_L4_bool_binop_done;
4007  }
4008  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_self->_partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4009  __Pyx_GOTREF(__pyx_t_3);
4010  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4011  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4012  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4013  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4014  __pyx_t_1 = __pyx_t_4;
4015  __pyx_L4_bool_binop_done:;
4016  if (__pyx_t_1) {
4017 
4018  /* "espressomd/interactions.pyx":129
4019  * # current parameters from there
4020  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
4021  * self._params = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
4022  * raise Exception(
4023  * "Subclasses of NonBondedInteraction must define the isActive() method.")
4024  */
4025  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4026  __Pyx_GOTREF(__pyx_t_3);
4027  __pyx_t_5 = NULL;
4028  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
4029  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
4030  if (likely(__pyx_t_5)) {
4031  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
4032  __Pyx_INCREF(__pyx_t_5);
4033  __Pyx_INCREF(function);
4034  __Pyx_DECREF_SET(__pyx_t_3, function);
4035  }
4036  }
4037  if (__pyx_t_5) {
4038  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4039  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4040  } else {
4041  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4042  }
4043  __Pyx_GOTREF(__pyx_t_2);
4044  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4045  __Pyx_GIVEREF(__pyx_t_2);
4046  __Pyx_GOTREF(__pyx_v_self->_params);
4047  __Pyx_DECREF(__pyx_v_self->_params);
4048  __pyx_v_self->_params = __pyx_t_2;
4049  __pyx_t_2 = 0;
4050  goto __pyx_L3;
4051  }
4052  __pyx_L3:;
4053 
4054  /* "espressomd/interactions.pyx":130
4055  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
4056  * self._params = self._getParamsFromEsCore()
4057  * raise Exception( # <<<<<<<<<<<<<<
4058  * "Subclasses of NonBondedInteraction must define the isActive() method.")
4059  *
4060  */
4061  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4062  __Pyx_GOTREF(__pyx_t_2);
4063  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4064  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4065  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4066 
4067  /* "espressomd/interactions.pyx":125
4068  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
4069  *
4070  * def isActive(self): # <<<<<<<<<<<<<<
4071  * # If this instance refers to an actual interaction defined in the es core, load
4072  * # current parameters from there
4073  */
4074 
4075  /* function exit code */
4076  __pyx_L1_error:;
4077  __Pyx_XDECREF(__pyx_t_2);
4078  __Pyx_XDECREF(__pyx_t_3);
4079  __Pyx_XDECREF(__pyx_t_5);
4080  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
4081  __pyx_r = NULL;
4082  __Pyx_XGIVEREF(__pyx_r);
4083  __Pyx_RefNannyFinishContext();
4084  return __pyx_r;
4085 }
4086 
4087 /* "espressomd/interactions.pyx":133
4088  * "Subclasses of NonBondedInteraction must define the isActive() method.")
4089  *
4090  * def typeName(self): # <<<<<<<<<<<<<<
4091  * raise Exception(
4092  * "Subclasses of NonBondedInteraction must define the typeName() method.")
4093  */
4094 
4095 /* Python wrapper */
4096 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_19typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4097 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_19typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4098  PyObject *__pyx_r = 0;
4099  __Pyx_RefNannyDeclarations
4100  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
4101  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_18typeName(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
4102 
4103  /* function exit code */
4104  __Pyx_RefNannyFinishContext();
4105  return __pyx_r;
4106 }
4107 
4108 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_18typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
4109  PyObject *__pyx_r = NULL;
4110  __Pyx_RefNannyDeclarations
4111  PyObject *__pyx_t_1 = NULL;
4112  int __pyx_lineno = 0;
4113  const char *__pyx_filename = NULL;
4114  int __pyx_clineno = 0;
4115  __Pyx_RefNannySetupContext("typeName", 0);
4116 
4117  /* "espressomd/interactions.pyx":134
4118  *
4119  * def typeName(self):
4120  * raise Exception( # <<<<<<<<<<<<<<
4121  * "Subclasses of NonBondedInteraction must define the typeName() method.")
4122  *
4123  */
4124  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4125  __Pyx_GOTREF(__pyx_t_1);
4126  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
4127  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4128  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4129 
4130  /* "espressomd/interactions.pyx":133
4131  * "Subclasses of NonBondedInteraction must define the isActive() method.")
4132  *
4133  * def typeName(self): # <<<<<<<<<<<<<<
4134  * raise Exception(
4135  * "Subclasses of NonBondedInteraction must define the typeName() method.")
4136  */
4137 
4138  /* function exit code */
4139  __pyx_L1_error:;
4140  __Pyx_XDECREF(__pyx_t_1);
4141  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.typeName", __pyx_clineno, __pyx_lineno, __pyx_filename);
4142  __pyx_r = NULL;
4143  __Pyx_XGIVEREF(__pyx_r);
4144  __Pyx_RefNannyFinishContext();
4145  return __pyx_r;
4146 }
4147 
4148 /* "espressomd/interactions.pyx":137
4149  * "Subclasses of NonBondedInteraction must define the typeName() method.")
4150  *
4151  * def validKeys(self): # <<<<<<<<<<<<<<
4152  * raise Exception(
4153  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
4154  */
4155 
4156 /* Python wrapper */
4157 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_21validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4158 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_21validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4159  PyObject *__pyx_r = 0;
4160  __Pyx_RefNannyDeclarations
4161  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
4162  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_20validKeys(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
4163 
4164  /* function exit code */
4165  __Pyx_RefNannyFinishContext();
4166  return __pyx_r;
4167 }
4168 
4169 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_20validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
4170  PyObject *__pyx_r = NULL;
4171  __Pyx_RefNannyDeclarations
4172  PyObject *__pyx_t_1 = NULL;
4173  int __pyx_lineno = 0;
4174  const char *__pyx_filename = NULL;
4175  int __pyx_clineno = 0;
4176  __Pyx_RefNannySetupContext("validKeys", 0);
4177 
4178  /* "espressomd/interactions.pyx":138
4179  *
4180  * def validKeys(self):
4181  * raise Exception( # <<<<<<<<<<<<<<
4182  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
4183  *
4184  */
4185  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4186  __Pyx_GOTREF(__pyx_t_1);
4187  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
4188  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4189  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4190 
4191  /* "espressomd/interactions.pyx":137
4192  * "Subclasses of NonBondedInteraction must define the typeName() method.")
4193  *
4194  * def validKeys(self): # <<<<<<<<<<<<<<
4195  * raise Exception(
4196  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
4197  */
4198 
4199  /* function exit code */
4200  __pyx_L1_error:;
4201  __Pyx_XDECREF(__pyx_t_1);
4202  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.validKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
4203  __pyx_r = NULL;
4204  __Pyx_XGIVEREF(__pyx_r);
4205  __Pyx_RefNannyFinishContext();
4206  return __pyx_r;
4207 }
4208 
4209 /* "espressomd/interactions.pyx":141
4210  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
4211  *
4212  * def requiredKeys(self): # <<<<<<<<<<<<<<
4213  * raise Exception(
4214  * "Subclasses of NonBondedInteraction must define the requiredKeys() method.")
4215  */
4216 
4217 /* Python wrapper */
4218 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_23requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4219 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_23requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4220  PyObject *__pyx_r = 0;
4221  __Pyx_RefNannyDeclarations
4222  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
4223  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_22requiredKeys(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
4224 
4225  /* function exit code */
4226  __Pyx_RefNannyFinishContext();
4227  return __pyx_r;
4228 }
4229 
4230 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_22requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
4231  PyObject *__pyx_r = NULL;
4232  __Pyx_RefNannyDeclarations
4233  PyObject *__pyx_t_1 = NULL;
4234  int __pyx_lineno = 0;
4235  const char *__pyx_filename = NULL;
4236  int __pyx_clineno = 0;
4237  __Pyx_RefNannySetupContext("requiredKeys", 0);
4238 
4239  /* "espressomd/interactions.pyx":142
4240  *
4241  * def requiredKeys(self):
4242  * raise Exception( # <<<<<<<<<<<<<<
4243  * "Subclasses of NonBondedInteraction must define the requiredKeys() method.")
4244  *
4245  */
4246  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4247  __Pyx_GOTREF(__pyx_t_1);
4248  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
4249  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4250  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4251 
4252  /* "espressomd/interactions.pyx":141
4253  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
4254  *
4255  * def requiredKeys(self): # <<<<<<<<<<<<<<
4256  * raise Exception(
4257  * "Subclasses of NonBondedInteraction must define the requiredKeys() method.")
4258  */
4259 
4260  /* function exit code */
4261  __pyx_L1_error:;
4262  __Pyx_XDECREF(__pyx_t_1);
4263  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteraction.requiredKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
4264  __pyx_r = NULL;
4265  __Pyx_XGIVEREF(__pyx_r);
4266  __Pyx_RefNannyFinishContext();
4267  return __pyx_r;
4268 }
4269 
4270 /* "espressomd/interactions.pyx":24
4271  * cdef class NonBondedInteraction(object):
4272  *
4273  * cdef public object _partTypes # <<<<<<<<<<<<<<
4274  * cdef object _params
4275  *
4276  */
4277 
4278 /* Python wrapper */
4279 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
4280 static PyObject *__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_1__get__(PyObject *__pyx_v_self) {
4281  PyObject *__pyx_r = 0;
4282  __Pyx_RefNannyDeclarations
4283  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4284  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes___get__(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
4285 
4286  /* function exit code */
4287  __Pyx_RefNannyFinishContext();
4288  return __pyx_r;
4289 }
4290 
4291 static PyObject *__pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes___get__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
4292  PyObject *__pyx_r = NULL;
4293  __Pyx_RefNannyDeclarations
4294  __Pyx_RefNannySetupContext("__get__", 0);
4295  __Pyx_XDECREF(__pyx_r);
4296  __Pyx_INCREF(__pyx_v_self->_partTypes);
4297  __pyx_r = __pyx_v_self->_partTypes;
4298  goto __pyx_L0;
4299 
4300  /* function exit code */
4301  __pyx_L0:;
4302  __Pyx_XGIVEREF(__pyx_r);
4303  __Pyx_RefNannyFinishContext();
4304  return __pyx_r;
4305 }
4306 
4307 /* Python wrapper */
4308 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4309 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4310  int __pyx_r;
4311  __Pyx_RefNannyDeclarations
4312  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4313  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_2__set__(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4314 
4315  /* function exit code */
4316  __Pyx_RefNannyFinishContext();
4317  return __pyx_r;
4318 }
4319 
4320 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_2__set__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self, PyObject *__pyx_v_value) {
4321  int __pyx_r;
4322  __Pyx_RefNannyDeclarations
4323  __Pyx_RefNannySetupContext("__set__", 0);
4324  __Pyx_INCREF(__pyx_v_value);
4325  __Pyx_GIVEREF(__pyx_v_value);
4326  __Pyx_GOTREF(__pyx_v_self->_partTypes);
4327  __Pyx_DECREF(__pyx_v_self->_partTypes);
4328  __pyx_v_self->_partTypes = __pyx_v_value;
4329 
4330  /* function exit code */
4331  __pyx_r = 0;
4332  __Pyx_RefNannyFinishContext();
4333  return __pyx_r;
4334 }
4335 
4336 /* Python wrapper */
4337 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_5__del__(PyObject *__pyx_v_self); /*proto*/
4338 static int __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_5__del__(PyObject *__pyx_v_self) {
4339  int __pyx_r;
4340  __Pyx_RefNannyDeclarations
4341  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
4342  __pyx_r = __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_4__del__(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)__pyx_v_self));
4343 
4344  /* function exit code */
4345  __Pyx_RefNannyFinishContext();
4346  return __pyx_r;
4347 }
4348 
4349 static int __pyx_pf_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_4__del__(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *__pyx_v_self) {
4350  int __pyx_r;
4351  __Pyx_RefNannyDeclarations
4352  __Pyx_RefNannySetupContext("__del__", 0);
4353  __Pyx_INCREF(Py_None);
4354  __Pyx_GIVEREF(Py_None);
4355  __Pyx_GOTREF(__pyx_v_self->_partTypes);
4356  __Pyx_DECREF(__pyx_v_self->_partTypes);
4357  __pyx_v_self->_partTypes = Py_None;
4358 
4359  /* function exit code */
4360  __pyx_r = 0;
4361  __Pyx_RefNannyFinishContext();
4362  return __pyx_r;
4363 }
4364 
4365 /* "espressomd/interactions.pyx":149
4366  * cdef class LennardJonesInteraction(NonBondedInteraction):
4367  * if LENNARD_JONES == 1:
4368  * def validateParams(self): # <<<<<<<<<<<<<<
4369  * if self._params["epsilon"] < 0:
4370  * raise ValueError("Lennard-Jones eps has to be >=0")
4371  */
4372 
4373 /* Python wrapper */
4374 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_1validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4375 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_1validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4376  PyObject *__pyx_r = 0;
4377  __Pyx_RefNannyDeclarations
4378  __Pyx_RefNannySetupContext("validateParams (wrapper)", 0);
4379  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_validateParams(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
4380 
4381  /* function exit code */
4382  __Pyx_RefNannyFinishContext();
4383  return __pyx_r;
4384 }
4385 
4386 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_validateParams(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
4387  PyObject *__pyx_r = NULL;
4388  __Pyx_RefNannyDeclarations
4389  PyObject *__pyx_t_1 = NULL;
4390  PyObject *__pyx_t_2 = NULL;
4391  int __pyx_t_3;
4392  int __pyx_lineno = 0;
4393  const char *__pyx_filename = NULL;
4394  int __pyx_clineno = 0;
4395  __Pyx_RefNannySetupContext("validateParams", 0);
4396 
4397  /* "espressomd/interactions.pyx":150
4398  * if LENNARD_JONES == 1:
4399  * def validateParams(self):
4400  * if self._params["epsilon"] < 0: # <<<<<<<<<<<<<<
4401  * raise ValueError("Lennard-Jones eps has to be >=0")
4402  * if self._params["sigma"] < 0:
4403  */
4404  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4405  __Pyx_GOTREF(__pyx_t_1);
4406  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4407  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4408  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4409  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4410  if (__pyx_t_3) {
4411 
4412  /* "espressomd/interactions.pyx":151
4413  * def validateParams(self):
4414  * if self._params["epsilon"] < 0:
4415  * raise ValueError("Lennard-Jones eps has to be >=0") # <<<<<<<<<<<<<<
4416  * if self._params["sigma"] < 0:
4417  * raise ValueError("Lennard-Jones sigma has to be >=0")
4418  */
4419  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4420  __Pyx_GOTREF(__pyx_t_2);
4421  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4422  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4423  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4424  }
4425 
4426  /* "espressomd/interactions.pyx":152
4427  * if self._params["epsilon"] < 0:
4428  * raise ValueError("Lennard-Jones eps has to be >=0")
4429  * if self._params["sigma"] < 0: # <<<<<<<<<<<<<<
4430  * raise ValueError("Lennard-Jones sigma has to be >=0")
4431  * if self._params["cutoff"] < 0:
4432  */
4433  __pyx_t_2 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4434  __Pyx_GOTREF(__pyx_t_2);
4435  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4436  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4437  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4438  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4439  if (__pyx_t_3) {
4440 
4441  /* "espressomd/interactions.pyx":153
4442  * raise ValueError("Lennard-Jones eps has to be >=0")
4443  * if self._params["sigma"] < 0:
4444  * raise ValueError("Lennard-Jones sigma has to be >=0") # <<<<<<<<<<<<<<
4445  * if self._params["cutoff"] < 0:
4446  * raise ValueError("Lennard-Jones cutoff has to be >=0")
4447  */
4448  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4449  __Pyx_GOTREF(__pyx_t_1);
4450  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
4451  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4452  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4453  }
4454 
4455  /* "espressomd/interactions.pyx":154
4456  * if self._params["sigma"] < 0:
4457  * raise ValueError("Lennard-Jones sigma has to be >=0")
4458  * if self._params["cutoff"] < 0: # <<<<<<<<<<<<<<
4459  * raise ValueError("Lennard-Jones cutoff has to be >=0")
4460  * return True
4461  */
4462  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4463  __Pyx_GOTREF(__pyx_t_1);
4464  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4465  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4466  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4467  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4468  if (__pyx_t_3) {
4469 
4470  /* "espressomd/interactions.pyx":155
4471  * raise ValueError("Lennard-Jones sigma has to be >=0")
4472  * if self._params["cutoff"] < 0:
4473  * raise ValueError("Lennard-Jones cutoff has to be >=0") # <<<<<<<<<<<<<<
4474  * return True
4475  *
4476  */
4477  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4478  __Pyx_GOTREF(__pyx_t_2);
4479  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
4480  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4481  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4482  }
4483 
4484  /* "espressomd/interactions.pyx":156
4485  * if self._params["cutoff"] < 0:
4486  * raise ValueError("Lennard-Jones cutoff has to be >=0")
4487  * return True # <<<<<<<<<<<<<<
4488  *
4489  * def _getParamsFromEsCore(self):
4490  */
4491  __Pyx_XDECREF(__pyx_r);
4492  __Pyx_INCREF(Py_True);
4493  __pyx_r = Py_True;
4494  goto __pyx_L0;
4495 
4496  /* "espressomd/interactions.pyx":149
4497  * cdef class LennardJonesInteraction(NonBondedInteraction):
4498  * if LENNARD_JONES == 1:
4499  * def validateParams(self): # <<<<<<<<<<<<<<
4500  * if self._params["epsilon"] < 0:
4501  * raise ValueError("Lennard-Jones eps has to be >=0")
4502  */
4503 
4504  /* function exit code */
4505  __pyx_L1_error:;
4506  __Pyx_XDECREF(__pyx_t_1);
4507  __Pyx_XDECREF(__pyx_t_2);
4508  __Pyx_AddTraceback("espressomd.interactions.LennardJonesInteraction.validateParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
4509  __pyx_r = NULL;
4510  __pyx_L0:;
4511  __Pyx_XGIVEREF(__pyx_r);
4512  __Pyx_RefNannyFinishContext();
4513  return __pyx_r;
4514 }
4515 
4516 /* "espressomd/interactions.pyx":158
4517  * return True
4518  *
4519  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
4520  * cdef IA_parameters * iaParams
4521  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
4522  */
4523 
4524 /* Python wrapper */
4525 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_3_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4526 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_3_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4527  PyObject *__pyx_r = 0;
4528  __Pyx_RefNannyDeclarations
4529  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
4530  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_2_getParamsFromEsCore(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
4531 
4532  /* function exit code */
4533  __Pyx_RefNannyFinishContext();
4534  return __pyx_r;
4535 }
4536 
4537 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_2_getParamsFromEsCore(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
4538  IA_parameters *__pyx_v_iaParams;
4539  PyObject *__pyx_r = NULL;
4540  __Pyx_RefNannyDeclarations
4541  PyObject *__pyx_t_1 = NULL;
4542  int __pyx_t_2;
4543  int __pyx_t_3;
4544  PyObject *__pyx_t_4 = NULL;
4545  int __pyx_lineno = 0;
4546  const char *__pyx_filename = NULL;
4547  int __pyx_clineno = 0;
4548  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
4549 
4550  /* "espressomd/interactions.pyx":160
4551  * def _getParamsFromEsCore(self):
4552  * cdef IA_parameters * iaParams
4553  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1]) # <<<<<<<<<<<<<<
4554  * return {
4555  * "epsilon": iaParams.LJ_eps,
4556  */
4557  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4558  __Pyx_GOTREF(__pyx_t_1);
4559  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4560  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4561  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4562  __Pyx_GOTREF(__pyx_t_1);
4563  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4564  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4565  __pyx_v_iaParams = get_ia_param(__pyx_t_2, __pyx_t_3);
4566 
4567  /* "espressomd/interactions.pyx":161
4568  * cdef IA_parameters * iaParams
4569  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
4570  * return { # <<<<<<<<<<<<<<
4571  * "epsilon": iaParams.LJ_eps,
4572  * "sigma": iaParams.LJ_sig,
4573  */
4574  __Pyx_XDECREF(__pyx_r);
4575  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4576  __Pyx_GOTREF(__pyx_t_1);
4577 
4578  /* "espressomd/interactions.pyx":162
4579  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
4580  * return {
4581  * "epsilon": iaParams.LJ_eps, # <<<<<<<<<<<<<<
4582  * "sigma": iaParams.LJ_sig,
4583  * "cutoff": iaParams.LJ_cut,
4584  */
4585  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_eps); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4586  __Pyx_GOTREF(__pyx_t_4);
4587  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_epsilon, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4588  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4589 
4590  /* "espressomd/interactions.pyx":163
4591  * return {
4592  * "epsilon": iaParams.LJ_eps,
4593  * "sigma": iaParams.LJ_sig, # <<<<<<<<<<<<<<
4594  * "cutoff": iaParams.LJ_cut,
4595  * "shift": iaParams.LJ_shift,
4596  */
4597  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_sig); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4598  __Pyx_GOTREF(__pyx_t_4);
4599  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_sigma, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4600  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4601 
4602  /* "espressomd/interactions.pyx":164
4603  * "epsilon": iaParams.LJ_eps,
4604  * "sigma": iaParams.LJ_sig,
4605  * "cutoff": iaParams.LJ_cut, # <<<<<<<<<<<<<<
4606  * "shift": iaParams.LJ_shift,
4607  * "offset": iaParams.LJ_offset,
4608  */
4609  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_cut); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4610  __Pyx_GOTREF(__pyx_t_4);
4611  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cutoff, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4612  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4613 
4614  /* "espressomd/interactions.pyx":165
4615  * "sigma": iaParams.LJ_sig,
4616  * "cutoff": iaParams.LJ_cut,
4617  * "shift": iaParams.LJ_shift, # <<<<<<<<<<<<<<
4618  * "offset": iaParams.LJ_offset,
4619  * "min": iaParams.LJ_min}
4620  */
4621  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_shift); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4622  __Pyx_GOTREF(__pyx_t_4);
4623  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shift, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4624  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4625 
4626  /* "espressomd/interactions.pyx":166
4627  * "cutoff": iaParams.LJ_cut,
4628  * "shift": iaParams.LJ_shift,
4629  * "offset": iaParams.LJ_offset, # <<<<<<<<<<<<<<
4630  * "min": iaParams.LJ_min}
4631  *
4632  */
4633  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_offset); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4634  __Pyx_GOTREF(__pyx_t_4);
4635  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_offset, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4636  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4637 
4638  /* "espressomd/interactions.pyx":167
4639  * "shift": iaParams.LJ_shift,
4640  * "offset": iaParams.LJ_offset,
4641  * "min": iaParams.LJ_min} # <<<<<<<<<<<<<<
4642  *
4643  * def isActive(self):
4644  */
4645  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJ_min); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4646  __Pyx_GOTREF(__pyx_t_4);
4647  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_min, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4648  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4649  __pyx_r = __pyx_t_1;
4650  __pyx_t_1 = 0;
4651  goto __pyx_L0;
4652 
4653  /* "espressomd/interactions.pyx":158
4654  * return True
4655  *
4656  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
4657  * cdef IA_parameters * iaParams
4658  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
4659  */
4660 
4661  /* function exit code */
4662  __pyx_L1_error:;
4663  __Pyx_XDECREF(__pyx_t_1);
4664  __Pyx_XDECREF(__pyx_t_4);
4665  __Pyx_AddTraceback("espressomd.interactions.LennardJonesInteraction._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
4666  __pyx_r = NULL;
4667  __pyx_L0:;
4668  __Pyx_XGIVEREF(__pyx_r);
4669  __Pyx_RefNannyFinishContext();
4670  return __pyx_r;
4671 }
4672 
4673 /* "espressomd/interactions.pyx":169
4674  * "min": iaParams.LJ_min}
4675  *
4676  * def isActive(self): # <<<<<<<<<<<<<<
4677  * return (self._params["epsilon"] > 0)
4678  *
4679  */
4680 
4681 /* Python wrapper */
4682 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_5isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4683 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_5isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4684  PyObject *__pyx_r = 0;
4685  __Pyx_RefNannyDeclarations
4686  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
4687  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_4isActive(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
4688 
4689  /* function exit code */
4690  __Pyx_RefNannyFinishContext();
4691  return __pyx_r;
4692 }
4693 
4694 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_4isActive(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
4695  PyObject *__pyx_r = NULL;
4696  __Pyx_RefNannyDeclarations
4697  PyObject *__pyx_t_1 = NULL;
4698  PyObject *__pyx_t_2 = NULL;
4699  int __pyx_lineno = 0;
4700  const char *__pyx_filename = NULL;
4701  int __pyx_clineno = 0;
4702  __Pyx_RefNannySetupContext("isActive", 0);
4703 
4704  /* "espressomd/interactions.pyx":170
4705  *
4706  * def isActive(self):
4707  * return (self._params["epsilon"] > 0) # <<<<<<<<<<<<<<
4708  *
4709  * def _setParamsInEsCore(self):
4710  */
4711  __Pyx_XDECREF(__pyx_r);
4712  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4713  __Pyx_GOTREF(__pyx_t_1);
4714  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4715  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4716  __pyx_r = __pyx_t_2;
4717  __pyx_t_2 = 0;
4718  goto __pyx_L0;
4719 
4720  /* "espressomd/interactions.pyx":169
4721  * "min": iaParams.LJ_min}
4722  *
4723  * def isActive(self): # <<<<<<<<<<<<<<
4724  * return (self._params["epsilon"] > 0)
4725  *
4726  */
4727 
4728  /* function exit code */
4729  __pyx_L1_error:;
4730  __Pyx_XDECREF(__pyx_t_1);
4731  __Pyx_XDECREF(__pyx_t_2);
4732  __Pyx_AddTraceback("espressomd.interactions.LennardJonesInteraction.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
4733  __pyx_r = NULL;
4734  __pyx_L0:;
4735  __Pyx_XGIVEREF(__pyx_r);
4736  __Pyx_RefNannyFinishContext();
4737  return __pyx_r;
4738 }
4739 
4740 /* "espressomd/interactions.pyx":172
4741  * return (self._params["epsilon"] > 0)
4742  *
4743  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
4744  * # Handle the case of shift="auto"
4745  * if self._params["shift"] == "auto":
4746  */
4747 
4748 /* Python wrapper */
4749 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_7_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4750 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_7_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
4751  PyObject *__pyx_r = 0;
4752  __Pyx_RefNannyDeclarations
4753  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
4754  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_6_setParamsInEsCore(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
4755 
4756  /* function exit code */
4757  __Pyx_RefNannyFinishContext();
4758  return __pyx_r;
4759 }
4760 
4761 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_6_setParamsInEsCore(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
4762  PyObject *__pyx_r = NULL;
4763  __Pyx_RefNannyDeclarations
4764  PyObject *__pyx_t_1 = NULL;
4765  int __pyx_t_2;
4766  PyObject *__pyx_t_3 = NULL;
4767  PyObject *__pyx_t_4 = NULL;
4768  PyObject *__pyx_t_5 = NULL;
4769  int __pyx_t_6;
4770  int __pyx_t_7;
4771  double __pyx_t_8;
4772  double __pyx_t_9;
4773  double __pyx_t_10;
4774  double __pyx_t_11;
4775  double __pyx_t_12;
4776  double __pyx_t_13;
4777  int __pyx_lineno = 0;
4778  const char *__pyx_filename = NULL;
4779  int __pyx_clineno = 0;
4780  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
4781 
4782  /* "espressomd/interactions.pyx":174
4783  * def _setParamsInEsCore(self):
4784  * # Handle the case of shift="auto"
4785  * if self._params["shift"] == "auto": # <<<<<<<<<<<<<<
4786  * # Calc shift
4787  * self._params["shift"] = -((self._params["sigma"] / self._params["cutoff"])**12 - (
4788  */
4789  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4790  __Pyx_GOTREF(__pyx_t_1);
4791  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_auto, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4792  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4793  if (__pyx_t_2) {
4794 
4795  /* "espressomd/interactions.pyx":176
4796  * if self._params["shift"] == "auto":
4797  * # Calc shift
4798  * self._params["shift"] = -((self._params["sigma"] / self._params["cutoff"])**12 - ( # <<<<<<<<<<<<<<
4799  * self._params["sigma"] / self._params["cutoff"])**6)
4800  *
4801  */
4802  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4803  __Pyx_GOTREF(__pyx_t_1);
4804  __pyx_t_3 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4805  __Pyx_GOTREF(__pyx_t_3);
4806  __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4807  __Pyx_GOTREF(__pyx_t_4);
4808  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4809  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4810  __pyx_t_3 = PyNumber_Power(__pyx_t_4, __pyx_int_12, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4811  __Pyx_GOTREF(__pyx_t_3);
4812  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4813 
4814  /* "espressomd/interactions.pyx":177
4815  * # Calc shift
4816  * self._params["shift"] = -((self._params["sigma"] / self._params["cutoff"])**12 - (
4817  * self._params["sigma"] / self._params["cutoff"])**6) # <<<<<<<<<<<<<<
4818  *
4819  * if lennard_jones_set_params(self._partTypes[0], self._partTypes[1],
4820  */
4821  __pyx_t_4 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4822  __Pyx_GOTREF(__pyx_t_4);
4823  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4824  __Pyx_GOTREF(__pyx_t_1);
4825  __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4826  __Pyx_GOTREF(__pyx_t_5);
4827  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4828  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4829  __pyx_t_1 = PyNumber_Power(__pyx_t_5, __pyx_int_6, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4830  __Pyx_GOTREF(__pyx_t_1);
4831  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4832 
4833  /* "espressomd/interactions.pyx":176
4834  * if self._params["shift"] == "auto":
4835  * # Calc shift
4836  * self._params["shift"] = -((self._params["sigma"] / self._params["cutoff"])**12 - ( # <<<<<<<<<<<<<<
4837  * self._params["sigma"] / self._params["cutoff"])**6)
4838  *
4839  */
4840  __pyx_t_5 = PyNumber_Subtract(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4841  __Pyx_GOTREF(__pyx_t_5);
4842  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4843  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4844  __pyx_t_1 = PyNumber_Negative(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4845  __Pyx_GOTREF(__pyx_t_1);
4846  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4847  if (unlikely(PyObject_SetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift, __pyx_t_1) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4848  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4849  goto __pyx_L3;
4850  }
4851  __pyx_L3:;
4852 
4853  /* "espressomd/interactions.pyx":179
4854  * self._params["sigma"] / self._params["cutoff"])**6)
4855  *
4856  * if lennard_jones_set_params(self._partTypes[0], self._partTypes[1], # <<<<<<<<<<<<<<
4857  * self._params["epsilon"],
4858  * self._params["sigma"],
4859  */
4860  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4861  __Pyx_GOTREF(__pyx_t_1);
4862  __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4863  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4864  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4865  __Pyx_GOTREF(__pyx_t_1);
4866  __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4867  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4868 
4869  /* "espressomd/interactions.pyx":180
4870  *
4871  * if lennard_jones_set_params(self._partTypes[0], self._partTypes[1],
4872  * self._params["epsilon"], # <<<<<<<<<<<<<<
4873  * self._params["sigma"],
4874  * self._params["cutoff"],
4875  */
4876  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4877  __Pyx_GOTREF(__pyx_t_1);
4878  __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4879  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4880 
4881  /* "espressomd/interactions.pyx":181
4882  * if lennard_jones_set_params(self._partTypes[0], self._partTypes[1],
4883  * self._params["epsilon"],
4884  * self._params["sigma"], # <<<<<<<<<<<<<<
4885  * self._params["cutoff"],
4886  * self._params["shift"],
4887  */
4888  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4889  __Pyx_GOTREF(__pyx_t_1);
4890  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4891  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4892 
4893  /* "espressomd/interactions.pyx":182
4894  * self._params["epsilon"],
4895  * self._params["sigma"],
4896  * self._params["cutoff"], # <<<<<<<<<<<<<<
4897  * self._params["shift"],
4898  * self._params["offset"],
4899  */
4900  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4901  __Pyx_GOTREF(__pyx_t_1);
4902  __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4903  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4904 
4905  /* "espressomd/interactions.pyx":183
4906  * self._params["sigma"],
4907  * self._params["cutoff"],
4908  * self._params["shift"], # <<<<<<<<<<<<<<
4909  * self._params["offset"],
4910  * 0.0,
4911  */
4912  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4913  __Pyx_GOTREF(__pyx_t_1);
4914  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4915  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4916 
4917  /* "espressomd/interactions.pyx":184
4918  * self._params["cutoff"],
4919  * self._params["shift"],
4920  * self._params["offset"], # <<<<<<<<<<<<<<
4921  * 0.0,
4922  * self._params["min"]):
4923  */
4924  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_offset); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4925  __Pyx_GOTREF(__pyx_t_1);
4926  __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4927  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4928 
4929  /* "espressomd/interactions.pyx":186
4930  * self._params["offset"],
4931  * 0.0,
4932  * self._params["min"]): # <<<<<<<<<<<<<<
4933  * raise Exception("Could not set Lennard Jones parameters")
4934  *
4935  */
4936  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_min); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4937  __Pyx_GOTREF(__pyx_t_1);
4938  __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4939  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4940 
4941  /* "espressomd/interactions.pyx":179
4942  * self._params["sigma"] / self._params["cutoff"])**6)
4943  *
4944  * if lennard_jones_set_params(self._partTypes[0], self._partTypes[1], # <<<<<<<<<<<<<<
4945  * self._params["epsilon"],
4946  * self._params["sigma"],
4947  */
4948  __pyx_t_2 = (lennard_jones_set_params(__pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, 0.0, __pyx_t_13) != 0);
4949  if (__pyx_t_2) {
4950 
4951  /* "espressomd/interactions.pyx":187
4952  * 0.0,
4953  * self._params["min"]):
4954  * raise Exception("Could not set Lennard Jones parameters") # <<<<<<<<<<<<<<
4955  *
4956  * def defaultParams(self):
4957  */
4958  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4959  __Pyx_GOTREF(__pyx_t_1);
4960  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
4961  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4962  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4963  }
4964 
4965  /* "espressomd/interactions.pyx":172
4966  * return (self._params["epsilon"] > 0)
4967  *
4968  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
4969  * # Handle the case of shift="auto"
4970  * if self._params["shift"] == "auto":
4971  */
4972 
4973  /* function exit code */
4974  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4975  goto __pyx_L0;
4976  __pyx_L1_error:;
4977  __Pyx_XDECREF(__pyx_t_1);
4978  __Pyx_XDECREF(__pyx_t_3);
4979  __Pyx_XDECREF(__pyx_t_4);
4980  __Pyx_XDECREF(__pyx_t_5);
4981  __Pyx_AddTraceback("espressomd.interactions.LennardJonesInteraction._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
4982  __pyx_r = NULL;
4983  __pyx_L0:;
4984  __Pyx_XGIVEREF(__pyx_r);
4985  __Pyx_RefNannyFinishContext();
4986  return __pyx_r;
4987 }
4988 
4989 /* "espressomd/interactions.pyx":189
4990  * raise Exception("Could not set Lennard Jones parameters")
4991  *
4992  * def defaultParams(self): # <<<<<<<<<<<<<<
4993  * self._params = {
4994  * "epsilon": 0.,
4995  */
4996 
4997 /* Python wrapper */
4998 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_9defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
4999 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_9defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5000  PyObject *__pyx_r = 0;
5001  __Pyx_RefNannyDeclarations
5002  __Pyx_RefNannySetupContext("defaultParams (wrapper)", 0);
5003  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_8defaultParams(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
5004 
5005  /* function exit code */
5006  __Pyx_RefNannyFinishContext();
5007  return __pyx_r;
5008 }
5009 
5010 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_8defaultParams(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
5011  PyObject *__pyx_r = NULL;
5012  __Pyx_RefNannyDeclarations
5013  PyObject *__pyx_t_1 = NULL;
5014  int __pyx_lineno = 0;
5015  const char *__pyx_filename = NULL;
5016  int __pyx_clineno = 0;
5017  __Pyx_RefNannySetupContext("defaultParams", 0);
5018 
5019  /* "espressomd/interactions.pyx":190
5020  *
5021  * def defaultParams(self):
5022  * self._params = { # <<<<<<<<<<<<<<
5023  * "epsilon": 0.,
5024  * "sigma": 0.,
5025  */
5026  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5027  __Pyx_GOTREF(__pyx_t_1);
5028  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_epsilon, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5029  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_sigma, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5030  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cutoff, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5031  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shift, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5032  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_offset, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5033  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_min, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5034  __Pyx_GIVEREF(__pyx_t_1);
5035  __Pyx_GOTREF(__pyx_v_self->__pyx_base._params);
5036  __Pyx_DECREF(__pyx_v_self->__pyx_base._params);
5037  __pyx_v_self->__pyx_base._params = __pyx_t_1;
5038  __pyx_t_1 = 0;
5039 
5040  /* "espressomd/interactions.pyx":189
5041  * raise Exception("Could not set Lennard Jones parameters")
5042  *
5043  * def defaultParams(self): # <<<<<<<<<<<<<<
5044  * self._params = {
5045  * "epsilon": 0.,
5046  */
5047 
5048  /* function exit code */
5049  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5050  goto __pyx_L0;
5051  __pyx_L1_error:;
5052  __Pyx_XDECREF(__pyx_t_1);
5053  __Pyx_AddTraceback("espressomd.interactions.LennardJonesInteraction.defaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
5054  __pyx_r = NULL;
5055  __pyx_L0:;
5056  __Pyx_XGIVEREF(__pyx_r);
5057  __Pyx_RefNannyFinishContext();
5058  return __pyx_r;
5059 }
5060 
5061 /* "espressomd/interactions.pyx":198
5062  * "min": 0.}
5063  *
5064  * def typeName(self): # <<<<<<<<<<<<<<
5065  * return "LennardJones"
5066  *
5067  */
5068 
5069 /* Python wrapper */
5070 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_11typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5071 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_11typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5072  PyObject *__pyx_r = 0;
5073  __Pyx_RefNannyDeclarations
5074  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
5075  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_10typeName(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
5076 
5077  /* function exit code */
5078  __Pyx_RefNannyFinishContext();
5079  return __pyx_r;
5080 }
5081 
5082 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_10typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
5083  PyObject *__pyx_r = NULL;
5084  __Pyx_RefNannyDeclarations
5085  __Pyx_RefNannySetupContext("typeName", 0);
5086 
5087  /* "espressomd/interactions.pyx":199
5088  *
5089  * def typeName(self):
5090  * return "LennardJones" # <<<<<<<<<<<<<<
5091  *
5092  * def validKeys(self):
5093  */
5094  __Pyx_XDECREF(__pyx_r);
5095  __Pyx_INCREF(__pyx_n_s_LennardJones);
5096  __pyx_r = __pyx_n_s_LennardJones;
5097  goto __pyx_L0;
5098 
5099  /* "espressomd/interactions.pyx":198
5100  * "min": 0.}
5101  *
5102  * def typeName(self): # <<<<<<<<<<<<<<
5103  * return "LennardJones"
5104  *
5105  */
5106 
5107  /* function exit code */
5108  __pyx_L0:;
5109  __Pyx_XGIVEREF(__pyx_r);
5110  __Pyx_RefNannyFinishContext();
5111  return __pyx_r;
5112 }
5113 
5114 /* "espressomd/interactions.pyx":201
5115  * return "LennardJones"
5116  *
5117  * def validKeys(self): # <<<<<<<<<<<<<<
5118  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min"
5119  *
5120  */
5121 
5122 /* Python wrapper */
5123 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_13validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5124 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_13validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5125  PyObject *__pyx_r = 0;
5126  __Pyx_RefNannyDeclarations
5127  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
5128  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_12validKeys(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
5129 
5130  /* function exit code */
5131  __Pyx_RefNannyFinishContext();
5132  return __pyx_r;
5133 }
5134 
5135 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_12validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
5136  PyObject *__pyx_r = NULL;
5137  __Pyx_RefNannyDeclarations
5138  __Pyx_RefNannySetupContext("validKeys", 0);
5139 
5140  /* "espressomd/interactions.pyx":202
5141  *
5142  * def validKeys(self):
5143  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min" # <<<<<<<<<<<<<<
5144  *
5145  * def requiredKeys(self):
5146  */
5147  __Pyx_XDECREF(__pyx_r);
5148  __Pyx_INCREF(__pyx_tuple__13);
5149  __pyx_r = __pyx_tuple__13;
5150  goto __pyx_L0;
5151 
5152  /* "espressomd/interactions.pyx":201
5153  * return "LennardJones"
5154  *
5155  * def validKeys(self): # <<<<<<<<<<<<<<
5156  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min"
5157  *
5158  */
5159 
5160  /* function exit code */
5161  __pyx_L0:;
5162  __Pyx_XGIVEREF(__pyx_r);
5163  __Pyx_RefNannyFinishContext();
5164  return __pyx_r;
5165 }
5166 
5167 /* "espressomd/interactions.pyx":204
5168  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min"
5169  *
5170  * def requiredKeys(self): # <<<<<<<<<<<<<<
5171  * return "epsilon", "sigma", "cutoff", "shift"
5172  *
5173  */
5174 
5175 /* Python wrapper */
5176 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_15requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5177 static PyObject *__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_15requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5178  PyObject *__pyx_r = 0;
5179  __Pyx_RefNannyDeclarations
5180  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
5181  __pyx_r = __pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_14requiredKeys(((struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *)__pyx_v_self));
5182 
5183  /* function exit code */
5184  __Pyx_RefNannyFinishContext();
5185  return __pyx_r;
5186 }
5187 
5188 static PyObject *__pyx_pf_10espressomd_12interactions_23LennardJonesInteraction_14requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction *__pyx_v_self) {
5189  PyObject *__pyx_r = NULL;
5190  __Pyx_RefNannyDeclarations
5191  __Pyx_RefNannySetupContext("requiredKeys", 0);
5192 
5193  /* "espressomd/interactions.pyx":205
5194  *
5195  * def requiredKeys(self):
5196  * return "epsilon", "sigma", "cutoff", "shift" # <<<<<<<<<<<<<<
5197  *
5198  * # Generic Lennard Jones
5199  */
5200  __Pyx_XDECREF(__pyx_r);
5201  __Pyx_INCREF(__pyx_tuple__14);
5202  __pyx_r = __pyx_tuple__14;
5203  goto __pyx_L0;
5204 
5205  /* "espressomd/interactions.pyx":204
5206  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min"
5207  *
5208  * def requiredKeys(self): # <<<<<<<<<<<<<<
5209  * return "epsilon", "sigma", "cutoff", "shift"
5210  *
5211  */
5212 
5213  /* function exit code */
5214  __pyx_L0:;
5215  __Pyx_XGIVEREF(__pyx_r);
5216  __Pyx_RefNannyFinishContext();
5217  return __pyx_r;
5218 }
5219 
5220 /* "espressomd/interactions.pyx":211
5221  * cdef class GenericLennardJonesInteraction(NonBondedInteraction):
5222  * if LENNARD_JONES_GENERIC == 1:
5223  * def validateParams(self): # <<<<<<<<<<<<<<
5224  * if self._params["epsilon"] < 0:
5225  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
5226  */
5227 
5228 /* Python wrapper */
5229 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_1validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5230 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_1validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5231  PyObject *__pyx_r = 0;
5232  __Pyx_RefNannyDeclarations
5233  __Pyx_RefNannySetupContext("validateParams (wrapper)", 0);
5234  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_validateParams(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
5235 
5236  /* function exit code */
5237  __Pyx_RefNannyFinishContext();
5238  return __pyx_r;
5239 }
5240 
5241 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_validateParams(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
5242  PyObject *__pyx_r = NULL;
5243  __Pyx_RefNannyDeclarations
5244  PyObject *__pyx_t_1 = NULL;
5245  PyObject *__pyx_t_2 = NULL;
5246  int __pyx_t_3;
5247  int __pyx_lineno = 0;
5248  const char *__pyx_filename = NULL;
5249  int __pyx_clineno = 0;
5250  __Pyx_RefNannySetupContext("validateParams", 0);
5251 
5252  /* "espressomd/interactions.pyx":212
5253  * if LENNARD_JONES_GENERIC == 1:
5254  * def validateParams(self):
5255  * if self._params["epsilon"] < 0: # <<<<<<<<<<<<<<
5256  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
5257  * if self._params["sigma"] < 0:
5258  */
5259  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5260  __Pyx_GOTREF(__pyx_t_1);
5261  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5262  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5263  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5264  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5265  if (__pyx_t_3) {
5266 
5267  /* "espressomd/interactions.pyx":213
5268  * def validateParams(self):
5269  * if self._params["epsilon"] < 0:
5270  * raise ValueError("Generic Lennard-Jones eps has to be >=0") # <<<<<<<<<<<<<<
5271  * if self._params["sigma"] < 0:
5272  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
5273  */
5274  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5275  __Pyx_GOTREF(__pyx_t_2);
5276  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5277  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5278  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5279  }
5280 
5281  /* "espressomd/interactions.pyx":214
5282  * if self._params["epsilon"] < 0:
5283  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
5284  * if self._params["sigma"] < 0: # <<<<<<<<<<<<<<
5285  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
5286  * if self._params["cutoff"] < 0:
5287  */
5288  __pyx_t_2 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5289  __Pyx_GOTREF(__pyx_t_2);
5290  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5291  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5292  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5293  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5294  if (__pyx_t_3) {
5295 
5296  /* "espressomd/interactions.pyx":215
5297  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
5298  * if self._params["sigma"] < 0:
5299  * raise ValueError("Generic Lennard-Jones sigma has to be >=0") # <<<<<<<<<<<<<<
5300  * if self._params["cutoff"] < 0:
5301  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0")
5302  */
5303  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5304  __Pyx_GOTREF(__pyx_t_1);
5305  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
5306  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5307  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5308  }
5309 
5310  /* "espressomd/interactions.pyx":216
5311  * if self._params["sigma"] < 0:
5312  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
5313  * if self._params["cutoff"] < 0: # <<<<<<<<<<<<<<
5314  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0")
5315  * return True
5316  */
5317  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5318  __Pyx_GOTREF(__pyx_t_1);
5319  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5320  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5321  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5322  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5323  if (__pyx_t_3) {
5324 
5325  /* "espressomd/interactions.pyx":217
5326  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
5327  * if self._params["cutoff"] < 0:
5328  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0") # <<<<<<<<<<<<<<
5329  * return True
5330  *
5331  */
5332  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5333  __Pyx_GOTREF(__pyx_t_2);
5334  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
5335  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5336  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5337  }
5338 
5339  /* "espressomd/interactions.pyx":218
5340  * if self._params["cutoff"] < 0:
5341  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0")
5342  * return True # <<<<<<<<<<<<<<
5343  *
5344  * def _getParamsFromEsCore(self):
5345  */
5346  __Pyx_XDECREF(__pyx_r);
5347  __Pyx_INCREF(Py_True);
5348  __pyx_r = Py_True;
5349  goto __pyx_L0;
5350 
5351  /* "espressomd/interactions.pyx":211
5352  * cdef class GenericLennardJonesInteraction(NonBondedInteraction):
5353  * if LENNARD_JONES_GENERIC == 1:
5354  * def validateParams(self): # <<<<<<<<<<<<<<
5355  * if self._params["epsilon"] < 0:
5356  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
5357  */
5358 
5359  /* function exit code */
5360  __pyx_L1_error:;
5361  __Pyx_XDECREF(__pyx_t_1);
5362  __Pyx_XDECREF(__pyx_t_2);
5363  __Pyx_AddTraceback("espressomd.interactions.GenericLennardJonesInteraction.validateParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
5364  __pyx_r = NULL;
5365  __pyx_L0:;
5366  __Pyx_XGIVEREF(__pyx_r);
5367  __Pyx_RefNannyFinishContext();
5368  return __pyx_r;
5369 }
5370 
5371 /* "espressomd/interactions.pyx":220
5372  * return True
5373  *
5374  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
5375  * cdef IA_parameters * iaParams
5376  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
5377  */
5378 
5379 /* Python wrapper */
5380 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_3_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5381 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_3_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5382  PyObject *__pyx_r = 0;
5383  __Pyx_RefNannyDeclarations
5384  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
5385  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_2_getParamsFromEsCore(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
5386 
5387  /* function exit code */
5388  __Pyx_RefNannyFinishContext();
5389  return __pyx_r;
5390 }
5391 
5392 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_2_getParamsFromEsCore(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
5393  IA_parameters *__pyx_v_iaParams;
5394  PyObject *__pyx_r = NULL;
5395  __Pyx_RefNannyDeclarations
5396  PyObject *__pyx_t_1 = NULL;
5397  int __pyx_t_2;
5398  int __pyx_t_3;
5399  PyObject *__pyx_t_4 = NULL;
5400  int __pyx_lineno = 0;
5401  const char *__pyx_filename = NULL;
5402  int __pyx_clineno = 0;
5403  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
5404 
5405  /* "espressomd/interactions.pyx":222
5406  * def _getParamsFromEsCore(self):
5407  * cdef IA_parameters * iaParams
5408  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1]) # <<<<<<<<<<<<<<
5409  * return {
5410  * "epsilon": iaParams.LJGEN_eps,
5411  */
5412  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5413  __Pyx_GOTREF(__pyx_t_1);
5414  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5415  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5416  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5417  __Pyx_GOTREF(__pyx_t_1);
5418  __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5419  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5420  __pyx_v_iaParams = get_ia_param(__pyx_t_2, __pyx_t_3);
5421 
5422  /* "espressomd/interactions.pyx":223
5423  * cdef IA_parameters * iaParams
5424  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
5425  * return { # <<<<<<<<<<<<<<
5426  * "epsilon": iaParams.LJGEN_eps,
5427  * "sigma": iaParams.LJGEN_sig,
5428  */
5429  __Pyx_XDECREF(__pyx_r);
5430  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5431  __Pyx_GOTREF(__pyx_t_1);
5432 
5433  /* "espressomd/interactions.pyx":224
5434  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
5435  * return {
5436  * "epsilon": iaParams.LJGEN_eps, # <<<<<<<<<<<<<<
5437  * "sigma": iaParams.LJGEN_sig,
5438  * "cutoff": iaParams.LJGEN_cut,
5439  */
5440  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_eps); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5441  __Pyx_GOTREF(__pyx_t_4);
5442  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_epsilon, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5443  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5444 
5445  /* "espressomd/interactions.pyx":225
5446  * return {
5447  * "epsilon": iaParams.LJGEN_eps,
5448  * "sigma": iaParams.LJGEN_sig, # <<<<<<<<<<<<<<
5449  * "cutoff": iaParams.LJGEN_cut,
5450  * "shift": iaParams.LJGEN_shift,
5451  */
5452  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_sig); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5453  __Pyx_GOTREF(__pyx_t_4);
5454  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_sigma, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5455  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5456 
5457  /* "espressomd/interactions.pyx":226
5458  * "epsilon": iaParams.LJGEN_eps,
5459  * "sigma": iaParams.LJGEN_sig,
5460  * "cutoff": iaParams.LJGEN_cut, # <<<<<<<<<<<<<<
5461  * "shift": iaParams.LJGEN_shift,
5462  * "offset": iaParams.LJGEN_offset,
5463  */
5464  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_cut); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5465  __Pyx_GOTREF(__pyx_t_4);
5466  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cutoff, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5467  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5468 
5469  /* "espressomd/interactions.pyx":227
5470  * "sigma": iaParams.LJGEN_sig,
5471  * "cutoff": iaParams.LJGEN_cut,
5472  * "shift": iaParams.LJGEN_shift, # <<<<<<<<<<<<<<
5473  * "offset": iaParams.LJGEN_offset,
5474  * "e1": iaParams.LJGEN_a1,
5475  */
5476  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_shift); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5477  __Pyx_GOTREF(__pyx_t_4);
5478  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shift, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5479  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5480 
5481  /* "espressomd/interactions.pyx":228
5482  * "cutoff": iaParams.LJGEN_cut,
5483  * "shift": iaParams.LJGEN_shift,
5484  * "offset": iaParams.LJGEN_offset, # <<<<<<<<<<<<<<
5485  * "e1": iaParams.LJGEN_a1,
5486  * "e2": iaParams.LJGEN_a2,
5487  */
5488  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_offset); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5489  __Pyx_GOTREF(__pyx_t_4);
5490  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_offset, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5491  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5492 
5493  /* "espressomd/interactions.pyx":229
5494  * "shift": iaParams.LJGEN_shift,
5495  * "offset": iaParams.LJGEN_offset,
5496  * "e1": iaParams.LJGEN_a1, # <<<<<<<<<<<<<<
5497  * "e2": iaParams.LJGEN_a2,
5498  * "b1": iaParams.LJGEN_b1,
5499  */
5500  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_iaParams->LJGEN_a1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5501  __Pyx_GOTREF(__pyx_t_4);
5502  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_e1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5503  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5504 
5505  /* "espressomd/interactions.pyx":230
5506  * "offset": iaParams.LJGEN_offset,
5507  * "e1": iaParams.LJGEN_a1,
5508  * "e2": iaParams.LJGEN_a2, # <<<<<<<<<<<<<<
5509  * "b1": iaParams.LJGEN_b1,
5510  * "b2": iaParams.LJGEN_b2,
5511  */
5512  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_iaParams->LJGEN_a2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5513  __Pyx_GOTREF(__pyx_t_4);
5514  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_e2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5515  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5516 
5517  /* "espressomd/interactions.pyx":231
5518  * "e1": iaParams.LJGEN_a1,
5519  * "e2": iaParams.LJGEN_a2,
5520  * "b1": iaParams.LJGEN_b1, # <<<<<<<<<<<<<<
5521  * "b2": iaParams.LJGEN_b2,
5522  * "lambda": iaParams.LJGEN_lambda,
5523  */
5524  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_b1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5525  __Pyx_GOTREF(__pyx_t_4);
5526  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_b1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5527  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5528 
5529  /* "espressomd/interactions.pyx":232
5530  * "e2": iaParams.LJGEN_a2,
5531  * "b1": iaParams.LJGEN_b1,
5532  * "b2": iaParams.LJGEN_b2, # <<<<<<<<<<<<<<
5533  * "lambda": iaParams.LJGEN_lambda,
5534  * "delta": iaParams.LJGEN_softrad
5535  */
5536  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_b2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5537  __Pyx_GOTREF(__pyx_t_4);
5538  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_b2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5539  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5540 
5541  /* "espressomd/interactions.pyx":233
5542  * "b1": iaParams.LJGEN_b1,
5543  * "b2": iaParams.LJGEN_b2,
5544  * "lambda": iaParams.LJGEN_lambda, # <<<<<<<<<<<<<<
5545  * "delta": iaParams.LJGEN_softrad
5546  * }
5547  */
5548  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_lambda); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5549  __Pyx_GOTREF(__pyx_t_4);
5550  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_lambda, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5551  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5552 
5553  /* "espressomd/interactions.pyx":234
5554  * "b2": iaParams.LJGEN_b2,
5555  * "lambda": iaParams.LJGEN_lambda,
5556  * "delta": iaParams.LJGEN_softrad # <<<<<<<<<<<<<<
5557  * }
5558  *
5559  */
5560  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_iaParams->LJGEN_softrad); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5561  __Pyx_GOTREF(__pyx_t_4);
5562  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_delta, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5563  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5564  __pyx_r = __pyx_t_1;
5565  __pyx_t_1 = 0;
5566  goto __pyx_L0;
5567 
5568  /* "espressomd/interactions.pyx":220
5569  * return True
5570  *
5571  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
5572  * cdef IA_parameters * iaParams
5573  * iaParams = get_ia_param(self._partTypes[0], self._partTypes[1])
5574  */
5575 
5576  /* function exit code */
5577  __pyx_L1_error:;
5578  __Pyx_XDECREF(__pyx_t_1);
5579  __Pyx_XDECREF(__pyx_t_4);
5580  __Pyx_AddTraceback("espressomd.interactions.GenericLennardJonesInteraction._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
5581  __pyx_r = NULL;
5582  __pyx_L0:;
5583  __Pyx_XGIVEREF(__pyx_r);
5584  __Pyx_RefNannyFinishContext();
5585  return __pyx_r;
5586 }
5587 
5588 /* "espressomd/interactions.pyx":237
5589  * }
5590  *
5591  * def isActive(self): # <<<<<<<<<<<<<<
5592  * return (self._params["epsilon"] > 0)
5593  *
5594  */
5595 
5596 /* Python wrapper */
5597 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_5isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5598 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_5isActive(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5599  PyObject *__pyx_r = 0;
5600  __Pyx_RefNannyDeclarations
5601  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
5602  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_4isActive(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
5603 
5604  /* function exit code */
5605  __Pyx_RefNannyFinishContext();
5606  return __pyx_r;
5607 }
5608 
5609 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_4isActive(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
5610  PyObject *__pyx_r = NULL;
5611  __Pyx_RefNannyDeclarations
5612  PyObject *__pyx_t_1 = NULL;
5613  PyObject *__pyx_t_2 = NULL;
5614  int __pyx_lineno = 0;
5615  const char *__pyx_filename = NULL;
5616  int __pyx_clineno = 0;
5617  __Pyx_RefNannySetupContext("isActive", 0);
5618 
5619  /* "espressomd/interactions.pyx":238
5620  *
5621  * def isActive(self):
5622  * return (self._params["epsilon"] > 0) # <<<<<<<<<<<<<<
5623  *
5624  * def _setParamsInEsCore(self):
5625  */
5626  __Pyx_XDECREF(__pyx_r);
5627  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5628  __Pyx_GOTREF(__pyx_t_1);
5629  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5630  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5631  __pyx_r = __pyx_t_2;
5632  __pyx_t_2 = 0;
5633  goto __pyx_L0;
5634 
5635  /* "espressomd/interactions.pyx":237
5636  * }
5637  *
5638  * def isActive(self): # <<<<<<<<<<<<<<
5639  * return (self._params["epsilon"] > 0)
5640  *
5641  */
5642 
5643  /* function exit code */
5644  __pyx_L1_error:;
5645  __Pyx_XDECREF(__pyx_t_1);
5646  __Pyx_XDECREF(__pyx_t_2);
5647  __Pyx_AddTraceback("espressomd.interactions.GenericLennardJonesInteraction.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
5648  __pyx_r = NULL;
5649  __pyx_L0:;
5650  __Pyx_XGIVEREF(__pyx_r);
5651  __Pyx_RefNannyFinishContext();
5652  return __pyx_r;
5653 }
5654 
5655 /* "espressomd/interactions.pyx":240
5656  * return (self._params["epsilon"] > 0)
5657  *
5658  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
5659  * # Handle the case of shift="auto"
5660  * if self._params["shift"] == "auto":
5661  */
5662 
5663 /* Python wrapper */
5664 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_7_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5665 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_7_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5666  PyObject *__pyx_r = 0;
5667  __Pyx_RefNannyDeclarations
5668  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
5669  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_6_setParamsInEsCore(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
5670 
5671  /* function exit code */
5672  __Pyx_RefNannyFinishContext();
5673  return __pyx_r;
5674 }
5675 
5676 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_6_setParamsInEsCore(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
5677  PyObject *__pyx_r = NULL;
5678  __Pyx_RefNannyDeclarations
5679  PyObject *__pyx_t_1 = NULL;
5680  int __pyx_t_2;
5681  PyObject *__pyx_t_3 = NULL;
5682  PyObject *__pyx_t_4 = NULL;
5683  PyObject *__pyx_t_5 = NULL;
5684  PyObject *__pyx_t_6 = NULL;
5685  int __pyx_t_7;
5686  int __pyx_t_8;
5687  double __pyx_t_9;
5688  double __pyx_t_10;
5689  double __pyx_t_11;
5690  double __pyx_t_12;
5691  double __pyx_t_13;
5692  int __pyx_t_14;
5693  int __pyx_t_15;
5694  double __pyx_t_16;
5695  double __pyx_t_17;
5696  int __pyx_lineno = 0;
5697  const char *__pyx_filename = NULL;
5698  int __pyx_clineno = 0;
5699  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
5700 
5701  /* "espressomd/interactions.pyx":242
5702  * def _setParamsInEsCore(self):
5703  * # Handle the case of shift="auto"
5704  * if self._params["shift"] == "auto": # <<<<<<<<<<<<<<
5705  * # Calc shift
5706  * self._params["shift"] = -(self._params["b1"] * (self._params["sigma"] / self._params["cutoff"])**self._params[
5707  */
5708  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5709  __Pyx_GOTREF(__pyx_t_1);
5710  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_n_s_auto, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5711  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5712  if (__pyx_t_2) {
5713 
5714  /* "espressomd/interactions.pyx":244
5715  * if self._params["shift"] == "auto":
5716  * # Calc shift
5717  * self._params["shift"] = -(self._params["b1"] * (self._params["sigma"] / self._params["cutoff"])**self._params[ # <<<<<<<<<<<<<<
5718  * "e1"] - self._params["b2"] * (self._params["sigma"] / self._params["cutoff"])**self._params["e2"])
5719  * IF LJGEN_SOFTCORE:
5720  */
5721  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_b1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5722  __Pyx_GOTREF(__pyx_t_1);
5723  __pyx_t_3 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5724  __Pyx_GOTREF(__pyx_t_3);
5725  __pyx_t_4 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5726  __Pyx_GOTREF(__pyx_t_4);
5727  __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5728  __Pyx_GOTREF(__pyx_t_5);
5729  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5730  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5731  __pyx_t_4 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_e1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5732  __Pyx_GOTREF(__pyx_t_4);
5733  __pyx_t_3 = PyNumber_Power(__pyx_t_5, __pyx_t_4, Py_None); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5734  __Pyx_GOTREF(__pyx_t_3);
5735  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5736  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5737  __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5738  __Pyx_GOTREF(__pyx_t_4);
5739  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5740  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5741 
5742  /* "espressomd/interactions.pyx":245
5743  * # Calc shift
5744  * self._params["shift"] = -(self._params["b1"] * (self._params["sigma"] / self._params["cutoff"])**self._params[
5745  * "e1"] - self._params["b2"] * (self._params["sigma"] / self._params["cutoff"])**self._params["e2"]) # <<<<<<<<<<<<<<
5746  * IF LJGEN_SOFTCORE:
5747  * if ljgen_set_params(self._partTypes[0], self._partTypes[1],
5748  */
5749  __pyx_t_3 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_b2); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5750  __Pyx_GOTREF(__pyx_t_3);
5751  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5752  __Pyx_GOTREF(__pyx_t_1);
5753  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5754  __Pyx_GOTREF(__pyx_t_5);
5755  __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5756  __Pyx_GOTREF(__pyx_t_6);
5757  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5758  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5759  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_e2); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5760  __Pyx_GOTREF(__pyx_t_5);
5761  __pyx_t_1 = PyNumber_Power(__pyx_t_6, __pyx_t_5, Py_None); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5762  __Pyx_GOTREF(__pyx_t_1);
5763  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5764  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5765  __pyx_t_5 = PyNumber_Multiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5766  __Pyx_GOTREF(__pyx_t_5);
5767  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5768  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5769  __pyx_t_1 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5770  __Pyx_GOTREF(__pyx_t_1);
5771  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5772  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5773 
5774  /* "espressomd/interactions.pyx":244
5775  * if self._params["shift"] == "auto":
5776  * # Calc shift
5777  * self._params["shift"] = -(self._params["b1"] * (self._params["sigma"] / self._params["cutoff"])**self._params[ # <<<<<<<<<<<<<<
5778  * "e1"] - self._params["b2"] * (self._params["sigma"] / self._params["cutoff"])**self._params["e2"])
5779  * IF LJGEN_SOFTCORE:
5780  */
5781  __pyx_t_5 = PyNumber_Negative(__pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5782  __Pyx_GOTREF(__pyx_t_5);
5783  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5784  if (unlikely(PyObject_SetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift, __pyx_t_5) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5785  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5786  goto __pyx_L3;
5787  }
5788  __pyx_L3:;
5789 
5790  /* "espressomd/interactions.pyx":263
5791  * "Could not set Generic Lennard Jones parameters")
5792  * ELSE:
5793  * if ljgen_set_params(self._partTypes[0], self._partTypes[1], # <<<<<<<<<<<<<<
5794  * self._params["epsilon"],
5795  * self._params["sigma"],
5796  */
5797  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5798  __Pyx_GOTREF(__pyx_t_5);
5799  __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5800  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5801  __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base._partTypes, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5802  __Pyx_GOTREF(__pyx_t_5);
5803  __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5804  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5805 
5806  /* "espressomd/interactions.pyx":264
5807  * ELSE:
5808  * if ljgen_set_params(self._partTypes[0], self._partTypes[1],
5809  * self._params["epsilon"], # <<<<<<<<<<<<<<
5810  * self._params["sigma"],
5811  * self._params["cutoff"],
5812  */
5813  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_epsilon); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5814  __Pyx_GOTREF(__pyx_t_5);
5815  __pyx_t_9 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_9 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5816  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5817 
5818  /* "espressomd/interactions.pyx":265
5819  * if ljgen_set_params(self._partTypes[0], self._partTypes[1],
5820  * self._params["epsilon"],
5821  * self._params["sigma"], # <<<<<<<<<<<<<<
5822  * self._params["cutoff"],
5823  * self._params["shift"],
5824  */
5825  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_sigma); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5826  __Pyx_GOTREF(__pyx_t_5);
5827  __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_10 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5828  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5829 
5830  /* "espressomd/interactions.pyx":266
5831  * self._params["epsilon"],
5832  * self._params["sigma"],
5833  * self._params["cutoff"], # <<<<<<<<<<<<<<
5834  * self._params["shift"],
5835  * self._params["offset"],
5836  */
5837  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_cutoff); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5838  __Pyx_GOTREF(__pyx_t_5);
5839  __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5840  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5841 
5842  /* "espressomd/interactions.pyx":267
5843  * self._params["sigma"],
5844  * self._params["cutoff"],
5845  * self._params["shift"], # <<<<<<<<<<<<<<
5846  * self._params["offset"],
5847  * self._params["e1"],
5848  */
5849  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_shift); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5850  __Pyx_GOTREF(__pyx_t_5);
5851  __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_12 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5852  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5853 
5854  /* "espressomd/interactions.pyx":268
5855  * self._params["cutoff"],
5856  * self._params["shift"],
5857  * self._params["offset"], # <<<<<<<<<<<<<<
5858  * self._params["e1"],
5859  * self._params["e2"],
5860  */
5861  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_offset); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5862  __Pyx_GOTREF(__pyx_t_5);
5863  __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5864  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5865 
5866  /* "espressomd/interactions.pyx":269
5867  * self._params["shift"],
5868  * self._params["offset"],
5869  * self._params["e1"], # <<<<<<<<<<<<<<
5870  * self._params["e2"],
5871  * self._params["b1"],
5872  */
5873  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_e1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5874  __Pyx_GOTREF(__pyx_t_5);
5875  __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5876  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5877 
5878  /* "espressomd/interactions.pyx":270
5879  * self._params["offset"],
5880  * self._params["e1"],
5881  * self._params["e2"], # <<<<<<<<<<<<<<
5882  * self._params["b1"],
5883  * self._params["b2"],
5884  */
5885  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_e2); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5886  __Pyx_GOTREF(__pyx_t_5);
5887  __pyx_t_15 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_15 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5888  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5889 
5890  /* "espressomd/interactions.pyx":271
5891  * self._params["e1"],
5892  * self._params["e2"],
5893  * self._params["b1"], # <<<<<<<<<<<<<<
5894  * self._params["b2"],
5895  * 0.0):
5896  */
5897  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_b1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5898  __Pyx_GOTREF(__pyx_t_5);
5899  __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5900  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5901 
5902  /* "espressomd/interactions.pyx":272
5903  * self._params["e2"],
5904  * self._params["b1"],
5905  * self._params["b2"], # <<<<<<<<<<<<<<
5906  * 0.0):
5907  * raise Exception(
5908  */
5909  __pyx_t_5 = PyObject_GetItem(__pyx_v_self->__pyx_base._params, __pyx_n_s_b2); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5910  __Pyx_GOTREF(__pyx_t_5);
5911  __pyx_t_17 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_17 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5912  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5913 
5914  /* "espressomd/interactions.pyx":263
5915  * "Could not set Generic Lennard Jones parameters")
5916  * ELSE:
5917  * if ljgen_set_params(self._partTypes[0], self._partTypes[1], # <<<<<<<<<<<<<<
5918  * self._params["epsilon"],
5919  * self._params["sigma"],
5920  */
5921  __pyx_t_2 = (ljgen_set_params(__pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, 0.0) != 0);
5922  if (__pyx_t_2) {
5923 
5924  /* "espressomd/interactions.pyx":274
5925  * self._params["b2"],
5926  * 0.0):
5927  * raise Exception( # <<<<<<<<<<<<<<
5928  * "Could not set Generic Lennard Jones parameters")
5929  *
5930  */
5931  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5932  __Pyx_GOTREF(__pyx_t_5);
5933  __Pyx_Raise(__pyx_t_5, 0, 0, 0);
5934  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5935  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5936  }
5937 
5938  /* "espressomd/interactions.pyx":240
5939  * return (self._params["epsilon"] > 0)
5940  *
5941  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
5942  * # Handle the case of shift="auto"
5943  * if self._params["shift"] == "auto":
5944  */
5945 
5946  /* function exit code */
5947  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5948  goto __pyx_L0;
5949  __pyx_L1_error:;
5950  __Pyx_XDECREF(__pyx_t_1);
5951  __Pyx_XDECREF(__pyx_t_3);
5952  __Pyx_XDECREF(__pyx_t_4);
5953  __Pyx_XDECREF(__pyx_t_5);
5954  __Pyx_XDECREF(__pyx_t_6);
5955  __Pyx_AddTraceback("espressomd.interactions.GenericLennardJonesInteraction._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
5956  __pyx_r = NULL;
5957  __pyx_L0:;
5958  __Pyx_XGIVEREF(__pyx_r);
5959  __Pyx_RefNannyFinishContext();
5960  return __pyx_r;
5961 }
5962 
5963 /* "espressomd/interactions.pyx":277
5964  * "Could not set Generic Lennard Jones parameters")
5965  *
5966  * def defaultParams(self): # <<<<<<<<<<<<<<
5967  * self._params = {
5968  * "epsilon": 0.,
5969  */
5970 
5971 /* Python wrapper */
5972 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_9defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5973 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_9defaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5974  PyObject *__pyx_r = 0;
5975  __Pyx_RefNannyDeclarations
5976  __Pyx_RefNannySetupContext("defaultParams (wrapper)", 0);
5977  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_8defaultParams(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
5978 
5979  /* function exit code */
5980  __Pyx_RefNannyFinishContext();
5981  return __pyx_r;
5982 }
5983 
5984 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_8defaultParams(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
5985  PyObject *__pyx_r = NULL;
5986  __Pyx_RefNannyDeclarations
5987  PyObject *__pyx_t_1 = NULL;
5988  int __pyx_lineno = 0;
5989  const char *__pyx_filename = NULL;
5990  int __pyx_clineno = 0;
5991  __Pyx_RefNannySetupContext("defaultParams", 0);
5992 
5993  /* "espressomd/interactions.pyx":278
5994  *
5995  * def defaultParams(self):
5996  * self._params = { # <<<<<<<<<<<<<<
5997  * "epsilon": 0.,
5998  * "sigma": 0.,
5999  */
6000  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6001  __Pyx_GOTREF(__pyx_t_1);
6002  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_epsilon, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6003  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_sigma, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6004  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_cutoff, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6005  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_shift, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6006  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_offset, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6007  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_e1, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6008  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_e2, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6009  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_b1, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6010  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_b2, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6011  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_delta, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6012  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_lambda, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6013  __Pyx_GIVEREF(__pyx_t_1);
6014  __Pyx_GOTREF(__pyx_v_self->__pyx_base._params);
6015  __Pyx_DECREF(__pyx_v_self->__pyx_base._params);
6016  __pyx_v_self->__pyx_base._params = __pyx_t_1;
6017  __pyx_t_1 = 0;
6018 
6019  /* "espressomd/interactions.pyx":277
6020  * "Could not set Generic Lennard Jones parameters")
6021  *
6022  * def defaultParams(self): # <<<<<<<<<<<<<<
6023  * self._params = {
6024  * "epsilon": 0.,
6025  */
6026 
6027  /* function exit code */
6028  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6029  goto __pyx_L0;
6030  __pyx_L1_error:;
6031  __Pyx_XDECREF(__pyx_t_1);
6032  __Pyx_AddTraceback("espressomd.interactions.GenericLennardJonesInteraction.defaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
6033  __pyx_r = NULL;
6034  __pyx_L0:;
6035  __Pyx_XGIVEREF(__pyx_r);
6036  __Pyx_RefNannyFinishContext();
6037  return __pyx_r;
6038 }
6039 
6040 /* "espressomd/interactions.pyx":291
6041  * "lambda": 0.}
6042  *
6043  * def typeName(self): # <<<<<<<<<<<<<<
6044  * return "GenericLennardJones"
6045  *
6046  */
6047 
6048 /* Python wrapper */
6049 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_11typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6050 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_11typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6051  PyObject *__pyx_r = 0;
6052  __Pyx_RefNannyDeclarations
6053  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
6054  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_10typeName(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
6055 
6056  /* function exit code */
6057  __Pyx_RefNannyFinishContext();
6058  return __pyx_r;
6059 }
6060 
6061 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_10typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
6062  PyObject *__pyx_r = NULL;
6063  __Pyx_RefNannyDeclarations
6064  __Pyx_RefNannySetupContext("typeName", 0);
6065 
6066  /* "espressomd/interactions.pyx":292
6067  *
6068  * def typeName(self):
6069  * return "GenericLennardJones" # <<<<<<<<<<<<<<
6070  *
6071  * def validKeys(self):
6072  */
6073  __Pyx_XDECREF(__pyx_r);
6074  __Pyx_INCREF(__pyx_n_s_GenericLennardJones);
6075  __pyx_r = __pyx_n_s_GenericLennardJones;
6076  goto __pyx_L0;
6077 
6078  /* "espressomd/interactions.pyx":291
6079  * "lambda": 0.}
6080  *
6081  * def typeName(self): # <<<<<<<<<<<<<<
6082  * return "GenericLennardJones"
6083  *
6084  */
6085 
6086  /* function exit code */
6087  __pyx_L0:;
6088  __Pyx_XGIVEREF(__pyx_r);
6089  __Pyx_RefNannyFinishContext();
6090  return __pyx_r;
6091 }
6092 
6093 /* "espressomd/interactions.pyx":294
6094  * return "GenericLennardJones"
6095  *
6096  * def validKeys(self): # <<<<<<<<<<<<<<
6097  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda"
6098  *
6099  */
6100 
6101 /* Python wrapper */
6102 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_13validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6103 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_13validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6104  PyObject *__pyx_r = 0;
6105  __Pyx_RefNannyDeclarations
6106  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
6107  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_12validKeys(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
6108 
6109  /* function exit code */
6110  __Pyx_RefNannyFinishContext();
6111  return __pyx_r;
6112 }
6113 
6114 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_12validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
6115  PyObject *__pyx_r = NULL;
6116  __Pyx_RefNannyDeclarations
6117  __Pyx_RefNannySetupContext("validKeys", 0);
6118 
6119  /* "espressomd/interactions.pyx":295
6120  *
6121  * def validKeys(self):
6122  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda" # <<<<<<<<<<<<<<
6123  *
6124  * def requiredKeys(self):
6125  */
6126  __Pyx_XDECREF(__pyx_r);
6127  __Pyx_INCREF(__pyx_tuple__19);
6128  __pyx_r = __pyx_tuple__19;
6129  goto __pyx_L0;
6130 
6131  /* "espressomd/interactions.pyx":294
6132  * return "GenericLennardJones"
6133  *
6134  * def validKeys(self): # <<<<<<<<<<<<<<
6135  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda"
6136  *
6137  */
6138 
6139  /* function exit code */
6140  __pyx_L0:;
6141  __Pyx_XGIVEREF(__pyx_r);
6142  __Pyx_RefNannyFinishContext();
6143  return __pyx_r;
6144 }
6145 
6146 /* "espressomd/interactions.pyx":297
6147  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda"
6148  *
6149  * def requiredKeys(self): # <<<<<<<<<<<<<<
6150  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2"
6151  *
6152  */
6153 
6154 /* Python wrapper */
6155 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_15requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6156 static PyObject *__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_15requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6157  PyObject *__pyx_r = 0;
6158  __Pyx_RefNannyDeclarations
6159  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
6160  __pyx_r = __pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_14requiredKeys(((struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *)__pyx_v_self));
6161 
6162  /* function exit code */
6163  __Pyx_RefNannyFinishContext();
6164  return __pyx_r;
6165 }
6166 
6167 static PyObject *__pyx_pf_10espressomd_12interactions_30GenericLennardJonesInteraction_14requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction *__pyx_v_self) {
6168  PyObject *__pyx_r = NULL;
6169  __Pyx_RefNannyDeclarations
6170  __Pyx_RefNannySetupContext("requiredKeys", 0);
6171 
6172  /* "espressomd/interactions.pyx":298
6173  *
6174  * def requiredKeys(self):
6175  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2" # <<<<<<<<<<<<<<
6176  *
6177  *
6178  */
6179  __Pyx_XDECREF(__pyx_r);
6180  __Pyx_INCREF(__pyx_tuple__20);
6181  __pyx_r = __pyx_tuple__20;
6182  goto __pyx_L0;
6183 
6184  /* "espressomd/interactions.pyx":297
6185  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda"
6186  *
6187  * def requiredKeys(self): # <<<<<<<<<<<<<<
6188  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2"
6189  *
6190  */
6191 
6192  /* function exit code */
6193  __pyx_L0:;
6194  __Pyx_XGIVEREF(__pyx_r);
6195  __Pyx_RefNannyFinishContext();
6196  return __pyx_r;
6197 }
6198 
6199 /* "espressomd/interactions.pyx":312
6200  * lennardJones = None
6201  *
6202  * def __init__(self, _type1, _type2): # <<<<<<<<<<<<<<
6203  * """Takes two particle types as argument"""
6204  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
6205  */
6206 
6207 /* Python wrapper */
6208 static PyObject *__pyx_pw_10espressomd_12interactions_26NonBondedInteractionHandle_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6209 static char __pyx_doc_10espressomd_12interactions_26NonBondedInteractionHandle___init__[] = "Takes two particle types as argument";
6210 static PyMethodDef __pyx_mdef_10espressomd_12interactions_26NonBondedInteractionHandle_1__init__ = {"__init__", (PyCFunction)__pyx_pw_10espressomd_12interactions_26NonBondedInteractionHandle_1__init__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10espressomd_12interactions_26NonBondedInteractionHandle___init__};
6211 static PyObject *__pyx_pw_10espressomd_12interactions_26NonBondedInteractionHandle_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6212  PyObject *__pyx_v_self = 0;
6213  PyObject *__pyx_v__type1 = 0;
6214  PyObject *__pyx_v__type2 = 0;
6215  int __pyx_lineno = 0;
6216  const char *__pyx_filename = NULL;
6217  int __pyx_clineno = 0;
6218  PyObject *__pyx_r = 0;
6219  __Pyx_RefNannyDeclarations
6220  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
6221  {
6222  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_type1,&__pyx_n_s_type2,0};
6223  PyObject* values[3] = {0,0,0};
6224  if (unlikely(__pyx_kwds)) {
6225  Py_ssize_t kw_args;
6226  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
6227  switch (pos_args) {
6228  case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6229  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6230  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6231  case 0: break;
6232  default: goto __pyx_L5_argtuple_error;
6233  }
6234  kw_args = PyDict_Size(__pyx_kwds);
6235  switch (pos_args) {
6236  case 0:
6237  if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
6238  else goto __pyx_L5_argtuple_error;
6239  case 1:
6240  if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type1)) != 0)) kw_args--;
6241  else {
6242  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
6243  }
6244  case 2:
6245  if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_type2)) != 0)) kw_args--;
6246  else {
6247  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
6248  }
6249  }
6250  if (unlikely(kw_args > 0)) {
6251  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
6252  }
6253  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
6254  goto __pyx_L5_argtuple_error;
6255  } else {
6256  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
6257  values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
6258  values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
6259  }
6260  __pyx_v_self = values[0];
6261  __pyx_v__type1 = values[1];
6262  __pyx_v__type2 = values[2];
6263  }
6264  goto __pyx_L4_argument_unpacking_done;
6265  __pyx_L5_argtuple_error:;
6266  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
6267  __pyx_L3_error:;
6268  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteractionHandle.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6269  __Pyx_RefNannyFinishContext();
6270  return NULL;
6271  __pyx_L4_argument_unpacking_done:;
6272  __pyx_r = __pyx_pf_10espressomd_12interactions_26NonBondedInteractionHandle___init__(__pyx_self, __pyx_v_self, __pyx_v__type1, __pyx_v__type2);
6273 
6274  /* function exit code */
6275  __Pyx_RefNannyFinishContext();
6276  return __pyx_r;
6277 }
6278 
6279 static PyObject *__pyx_pf_10espressomd_12interactions_26NonBondedInteractionHandle___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v__type1, PyObject *__pyx_v__type2) {
6280  PyObject *__pyx_r = NULL;
6281  __Pyx_RefNannyDeclarations
6282  int __pyx_t_1;
6283  int __pyx_t_2;
6284  int __pyx_t_3;
6285  PyObject *__pyx_t_4 = NULL;
6286  PyObject *__pyx_t_5 = NULL;
6287  int __pyx_lineno = 0;
6288  const char *__pyx_filename = NULL;
6289  int __pyx_clineno = 0;
6290  __Pyx_RefNannySetupContext("__init__", 0);
6291 
6292  /* "espressomd/interactions.pyx":314
6293  * def __init__(self, _type1, _type2):
6294  * """Takes two particle types as argument"""
6295  * if not (isinstance(_type1, int) and isinstance(_type2, int)): # <<<<<<<<<<<<<<
6296  * raise TypeError("The particle types have to be of type integer.")
6297  * self.type1 = _type1
6298  */
6299  __pyx_t_2 = PyInt_Check(__pyx_v__type1);
6300  __pyx_t_3 = (__pyx_t_2 != 0);
6301  if (__pyx_t_3) {
6302  } else {
6303  __pyx_t_1 = __pyx_t_3;
6304  goto __pyx_L4_bool_binop_done;
6305  }
6306  __pyx_t_3 = PyInt_Check(__pyx_v__type2);
6307  __pyx_t_2 = (__pyx_t_3 != 0);
6308  __pyx_t_1 = __pyx_t_2;
6309  __pyx_L4_bool_binop_done:;
6310  __pyx_t_2 = ((!__pyx_t_1) != 0);
6311  if (__pyx_t_2) {
6312 
6313  /* "espressomd/interactions.pyx":315
6314  * """Takes two particle types as argument"""
6315  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
6316  * raise TypeError("The particle types have to be of type integer.") # <<<<<<<<<<<<<<
6317  * self.type1 = _type1
6318  * self.type2 = _type2
6319  */
6320  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6321  __Pyx_GOTREF(__pyx_t_4);
6322  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
6323  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6324  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6325  }
6326 
6327  /* "espressomd/interactions.pyx":316
6328  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
6329  * raise TypeError("The particle types have to be of type integer.")
6330  * self.type1 = _type1 # <<<<<<<<<<<<<<
6331  * self.type2 = _type2
6332  *
6333  */
6334  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_type1_2, __pyx_v__type1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6335 
6336  /* "espressomd/interactions.pyx":317
6337  * raise TypeError("The particle types have to be of type integer.")
6338  * self.type1 = _type1
6339  * self.type2 = _type2 # <<<<<<<<<<<<<<
6340  *
6341  * # Here, add one line for each nonbonded ia
6342  */
6343  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_type2_2, __pyx_v__type2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6344 
6345  /* "espressomd/interactions.pyx":320
6346  *
6347  * # Here, add one line for each nonbonded ia
6348  * self.lennardJones = LennardJonesInteraction(_type1, _type2) # <<<<<<<<<<<<<<
6349  * self.genericLennardJones = LennardJonesInteraction(_type1, _type2)
6350  *
6351  */
6352  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6353  __Pyx_GOTREF(__pyx_t_4);
6354  __Pyx_INCREF(__pyx_v__type1);
6355  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__type1);
6356  __Pyx_GIVEREF(__pyx_v__type1);
6357  __Pyx_INCREF(__pyx_v__type2);
6358  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v__type2);
6359  __Pyx_GIVEREF(__pyx_v__type2);
6360  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_LennardJonesInteraction)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6361  __Pyx_GOTREF(__pyx_t_5);
6362  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6363  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lennardJones, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6364  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6365 
6366  /* "espressomd/interactions.pyx":321
6367  * # Here, add one line for each nonbonded ia
6368  * self.lennardJones = LennardJonesInteraction(_type1, _type2)
6369  * self.genericLennardJones = LennardJonesInteraction(_type1, _type2) # <<<<<<<<<<<<<<
6370  *
6371  *
6372  */
6373  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6374  __Pyx_GOTREF(__pyx_t_5);
6375  __Pyx_INCREF(__pyx_v__type1);
6376  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v__type1);
6377  __Pyx_GIVEREF(__pyx_v__type1);
6378  __Pyx_INCREF(__pyx_v__type2);
6379  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v__type2);
6380  __Pyx_GIVEREF(__pyx_v__type2);
6381  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_LennardJonesInteraction)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6382  __Pyx_GOTREF(__pyx_t_4);
6383  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6384  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_genericLennardJones, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6385  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6386 
6387  /* "espressomd/interactions.pyx":312
6388  * lennardJones = None
6389  *
6390  * def __init__(self, _type1, _type2): # <<<<<<<<<<<<<<
6391  * """Takes two particle types as argument"""
6392  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
6393  */
6394 
6395  /* function exit code */
6396  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6397  goto __pyx_L0;
6398  __pyx_L1_error:;
6399  __Pyx_XDECREF(__pyx_t_4);
6400  __Pyx_XDECREF(__pyx_t_5);
6401  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteractionHandle.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6402  __pyx_r = NULL;
6403  __pyx_L0:;
6404  __Pyx_XGIVEREF(__pyx_r);
6405  __Pyx_RefNannyFinishContext();
6406  return __pyx_r;
6407 }
6408 
6409 /* "espressomd/interactions.pyx":330
6410  * """
6411  *
6412  * def __getitem__(self, key): # <<<<<<<<<<<<<<
6413  * if not isinstance(key, tuple):
6414  * raise ValueError(
6415  */
6416 
6417 /* Python wrapper */
6418 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_1__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
6419 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_1__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
6420  PyObject *__pyx_r = 0;
6421  __Pyx_RefNannyDeclarations
6422  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
6423  __pyx_r = __pyx_pf_10espressomd_12interactions_21NonBondedInteractions___getitem__(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *)__pyx_v_self), ((PyObject *)__pyx_v_key));
6424 
6425  /* function exit code */
6426  __Pyx_RefNannyFinishContext();
6427  return __pyx_r;
6428 }
6429 
6430 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions___getitem__(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self, PyObject *__pyx_v_key) {
6431  PyObject *__pyx_r = NULL;
6432  __Pyx_RefNannyDeclarations
6433  int __pyx_t_1;
6434  int __pyx_t_2;
6435  PyObject *__pyx_t_3 = NULL;
6436  Py_ssize_t __pyx_t_4;
6437  int __pyx_t_5;
6438  PyObject *__pyx_t_6 = NULL;
6439  PyObject *__pyx_t_7 = NULL;
6440  PyObject *__pyx_t_8 = NULL;
6441  PyObject *__pyx_t_9 = NULL;
6442  PyObject *__pyx_t_10 = NULL;
6443  int __pyx_lineno = 0;
6444  const char *__pyx_filename = NULL;
6445  int __pyx_clineno = 0;
6446  __Pyx_RefNannySetupContext("__getitem__", 0);
6447 
6448  /* "espressomd/interactions.pyx":331
6449  *
6450  * def __getitem__(self, key):
6451  * if not isinstance(key, tuple): # <<<<<<<<<<<<<<
6452  * raise ValueError(
6453  * "NonBondedInteractions[] expects two particle types as indices.")
6454  */
6455  __pyx_t_1 = PyTuple_Check(__pyx_v_key);
6456  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
6457  if (__pyx_t_2) {
6458 
6459  /* "espressomd/interactions.pyx":332
6460  * def __getitem__(self, key):
6461  * if not isinstance(key, tuple):
6462  * raise ValueError( # <<<<<<<<<<<<<<
6463  * "NonBondedInteractions[] expects two particle types as indices.")
6464  * if len(key) != 2 or (not isinstance(key[0], int)) or (not isinstance(key[1], int)):
6465  */
6466  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6467  __Pyx_GOTREF(__pyx_t_3);
6468  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
6469  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6470  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6471  }
6472 
6473  /* "espressomd/interactions.pyx":334
6474  * raise ValueError(
6475  * "NonBondedInteractions[] expects two particle types as indices.")
6476  * if len(key) != 2 or (not isinstance(key[0], int)) or (not isinstance(key[1], int)): # <<<<<<<<<<<<<<
6477  * raise ValueError(
6478  * "NonBondedInteractions[] expects two particle types as indices.")
6479  */
6480  __pyx_t_4 = PyObject_Length(__pyx_v_key); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6481  __pyx_t_1 = ((__pyx_t_4 != 2) != 0);
6482  if (!__pyx_t_1) {
6483  } else {
6484  __pyx_t_2 = __pyx_t_1;
6485  goto __pyx_L5_bool_binop_done;
6486  }
6487  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_key, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6488  __Pyx_GOTREF(__pyx_t_3);
6489  __pyx_t_1 = PyInt_Check(__pyx_t_3);
6490  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6491  __pyx_t_5 = ((!(__pyx_t_1 != 0)) != 0);
6492  if (!__pyx_t_5) {
6493  } else {
6494  __pyx_t_2 = __pyx_t_5;
6495  goto __pyx_L5_bool_binop_done;
6496  }
6497  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_key, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6498  __Pyx_GOTREF(__pyx_t_3);
6499  __pyx_t_5 = PyInt_Check(__pyx_t_3);
6500  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6501  __pyx_t_1 = ((!(__pyx_t_5 != 0)) != 0);
6502  __pyx_t_2 = __pyx_t_1;
6503  __pyx_L5_bool_binop_done:;
6504  if (__pyx_t_2) {
6505 
6506  /* "espressomd/interactions.pyx":335
6507  * "NonBondedInteractions[] expects two particle types as indices.")
6508  * if len(key) != 2 or (not isinstance(key[0], int)) or (not isinstance(key[1], int)):
6509  * raise ValueError( # <<<<<<<<<<<<<<
6510  * "NonBondedInteractions[] expects two particle types as indices.")
6511  * return NonBondedInteractionHandle(key[0], key[1])
6512  */
6513  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6514  __Pyx_GOTREF(__pyx_t_3);
6515  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
6516  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6517  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6518  }
6519 
6520  /* "espressomd/interactions.pyx":337
6521  * raise ValueError(
6522  * "NonBondedInteractions[] expects two particle types as indices.")
6523  * return NonBondedInteractionHandle(key[0], key[1]) # <<<<<<<<<<<<<<
6524  *
6525  * def setForceCap(self, cap):
6526  */
6527  __Pyx_XDECREF(__pyx_r);
6528  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_NonBondedInteractionHandle); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6529  __Pyx_GOTREF(__pyx_t_6);
6530  __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_key, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6531  __Pyx_GOTREF(__pyx_t_7);
6532  __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_key, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_8 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6533  __Pyx_GOTREF(__pyx_t_8);
6534  __pyx_t_9 = NULL;
6535  __pyx_t_4 = 0;
6536  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_6))) {
6537  __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
6538  if (likely(__pyx_t_9)) {
6539  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
6540  __Pyx_INCREF(__pyx_t_9);
6541  __Pyx_INCREF(function);
6542  __Pyx_DECREF_SET(__pyx_t_6, function);
6543  __pyx_t_4 = 1;
6544  }
6545  }
6546  __pyx_t_10 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6547  __Pyx_GOTREF(__pyx_t_10);
6548  if (__pyx_t_9) {
6549  PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = NULL;
6550  }
6551  PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_4, __pyx_t_7);
6552  __Pyx_GIVEREF(__pyx_t_7);
6553  PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_4, __pyx_t_8);
6554  __Pyx_GIVEREF(__pyx_t_8);
6555  __pyx_t_7 = 0;
6556  __pyx_t_8 = 0;
6557  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6558  __Pyx_GOTREF(__pyx_t_3);
6559  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
6560  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6561  __pyx_r = __pyx_t_3;
6562  __pyx_t_3 = 0;
6563  goto __pyx_L0;
6564 
6565  /* "espressomd/interactions.pyx":330
6566  * """
6567  *
6568  * def __getitem__(self, key): # <<<<<<<<<<<<<<
6569  * if not isinstance(key, tuple):
6570  * raise ValueError(
6571  */
6572 
6573  /* function exit code */
6574  __pyx_L1_error:;
6575  __Pyx_XDECREF(__pyx_t_3);
6576  __Pyx_XDECREF(__pyx_t_6);
6577  __Pyx_XDECREF(__pyx_t_7);
6578  __Pyx_XDECREF(__pyx_t_8);
6579  __Pyx_XDECREF(__pyx_t_9);
6580  __Pyx_XDECREF(__pyx_t_10);
6581  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteractions.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6582  __pyx_r = NULL;
6583  __pyx_L0:;
6584  __Pyx_XGIVEREF(__pyx_r);
6585  __Pyx_RefNannyFinishContext();
6586  return __pyx_r;
6587 }
6588 
6589 /* "espressomd/interactions.pyx":339
6590  * return NonBondedInteractionHandle(key[0], key[1])
6591  *
6592  * def setForceCap(self, cap): # <<<<<<<<<<<<<<
6593  * if forcecap_set_params(cap):
6594  * raise Exception("Could not set forcecap")
6595  */
6596 
6597 /* Python wrapper */
6598 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_3setForceCap(PyObject *__pyx_v_self, PyObject *__pyx_v_cap); /*proto*/
6599 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_3setForceCap(PyObject *__pyx_v_self, PyObject *__pyx_v_cap) {
6600  PyObject *__pyx_r = 0;
6601  __Pyx_RefNannyDeclarations
6602  __Pyx_RefNannySetupContext("setForceCap (wrapper)", 0);
6603  __pyx_r = __pyx_pf_10espressomd_12interactions_21NonBondedInteractions_2setForceCap(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *)__pyx_v_self), ((PyObject *)__pyx_v_cap));
6604 
6605  /* function exit code */
6606  __Pyx_RefNannyFinishContext();
6607  return __pyx_r;
6608 }
6609 
6610 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions_2setForceCap(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self, PyObject *__pyx_v_cap) {
6611  PyObject *__pyx_r = NULL;
6612  __Pyx_RefNannyDeclarations
6613  double __pyx_t_1;
6614  int __pyx_t_2;
6615  PyObject *__pyx_t_3 = NULL;
6616  int __pyx_lineno = 0;
6617  const char *__pyx_filename = NULL;
6618  int __pyx_clineno = 0;
6619  __Pyx_RefNannySetupContext("setForceCap", 0);
6620 
6621  /* "espressomd/interactions.pyx":340
6622  *
6623  * def setForceCap(self, cap):
6624  * if forcecap_set_params(cap): # <<<<<<<<<<<<<<
6625  * raise Exception("Could not set forcecap")
6626  *
6627  */
6628  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_cap); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6629  __pyx_t_2 = (forcecap_set_params(__pyx_t_1) != 0);
6630  if (__pyx_t_2) {
6631 
6632  /* "espressomd/interactions.pyx":341
6633  * def setForceCap(self, cap):
6634  * if forcecap_set_params(cap):
6635  * raise Exception("Could not set forcecap") # <<<<<<<<<<<<<<
6636  *
6637  * def getForceCap(self):
6638  */
6639  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6640  __Pyx_GOTREF(__pyx_t_3);
6641  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
6642  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6643  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6644  }
6645 
6646  /* "espressomd/interactions.pyx":339
6647  * return NonBondedInteractionHandle(key[0], key[1])
6648  *
6649  * def setForceCap(self, cap): # <<<<<<<<<<<<<<
6650  * if forcecap_set_params(cap):
6651  * raise Exception("Could not set forcecap")
6652  */
6653 
6654  /* function exit code */
6655  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6656  goto __pyx_L0;
6657  __pyx_L1_error:;
6658  __Pyx_XDECREF(__pyx_t_3);
6659  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteractions.setForceCap", __pyx_clineno, __pyx_lineno, __pyx_filename);
6660  __pyx_r = NULL;
6661  __pyx_L0:;
6662  __Pyx_XGIVEREF(__pyx_r);
6663  __Pyx_RefNannyFinishContext();
6664  return __pyx_r;
6665 }
6666 
6667 /* "espressomd/interactions.pyx":343
6668  * raise Exception("Could not set forcecap")
6669  *
6670  * def getForceCap(self): # <<<<<<<<<<<<<<
6671  * return force_cap
6672  *
6673  */
6674 
6675 /* Python wrapper */
6676 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_5getForceCap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6677 static PyObject *__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_5getForceCap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6678  PyObject *__pyx_r = 0;
6679  __Pyx_RefNannyDeclarations
6680  __Pyx_RefNannySetupContext("getForceCap (wrapper)", 0);
6681  __pyx_r = __pyx_pf_10espressomd_12interactions_21NonBondedInteractions_4getForceCap(((struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *)__pyx_v_self));
6682 
6683  /* function exit code */
6684  __Pyx_RefNannyFinishContext();
6685  return __pyx_r;
6686 }
6687 
6688 static PyObject *__pyx_pf_10espressomd_12interactions_21NonBondedInteractions_4getForceCap(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions *__pyx_v_self) {
6689  PyObject *__pyx_r = NULL;
6690  __Pyx_RefNannyDeclarations
6691  PyObject *__pyx_t_1 = NULL;
6692  int __pyx_lineno = 0;
6693  const char *__pyx_filename = NULL;
6694  int __pyx_clineno = 0;
6695  __Pyx_RefNannySetupContext("getForceCap", 0);
6696 
6697  /* "espressomd/interactions.pyx":344
6698  *
6699  * def getForceCap(self):
6700  * return force_cap # <<<<<<<<<<<<<<
6701  *
6702  *
6703  */
6704  __Pyx_XDECREF(__pyx_r);
6705  __pyx_t_1 = PyFloat_FromDouble(force_cap); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6706  __Pyx_GOTREF(__pyx_t_1);
6707  __pyx_r = __pyx_t_1;
6708  __pyx_t_1 = 0;
6709  goto __pyx_L0;
6710 
6711  /* "espressomd/interactions.pyx":343
6712  * raise Exception("Could not set forcecap")
6713  *
6714  * def getForceCap(self): # <<<<<<<<<<<<<<
6715  * return force_cap
6716  *
6717  */
6718 
6719  /* function exit code */
6720  __pyx_L1_error:;
6721  __Pyx_XDECREF(__pyx_t_1);
6722  __Pyx_AddTraceback("espressomd.interactions.NonBondedInteractions.getForceCap", __pyx_clineno, __pyx_lineno, __pyx_filename);
6723  __pyx_r = NULL;
6724  __pyx_L0:;
6725  __Pyx_XGIVEREF(__pyx_r);
6726  __Pyx_RefNannyFinishContext();
6727  return __pyx_r;
6728 }
6729 
6730 /* "espressomd/interactions.pyx":348
6731  *
6732  * cdef class BondedInteraction(object):
6733  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
6734  * """Either called with an interaction id, in which case, the interaction will represent
6735  * the bonded interaction as it is defined in Espresso core
6736  */
6737 
6738 /* Python wrapper */
6739 static int __pyx_pw_10espressomd_12interactions_17BondedInteraction_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
6740 static char __pyx_doc_10espressomd_12interactions_17BondedInteraction___init__[] = "Either called with an interaction id, in which case, the interaction will represent\n the bonded interaction as it is defined in Espresso core\n Or called with keyword arguments describing a new interaction.";
6741 #if CYTHON_COMPILING_IN_CPYTHON
6742 struct wrapperbase __pyx_wrapperbase_10espressomd_12interactions_17BondedInteraction___init__;
6743 #endif
6744 static int __pyx_pw_10espressomd_12interactions_17BondedInteraction_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
6745  PyObject *__pyx_v_args = 0;
6746  PyObject *__pyx_v_kwargs = 0;
6747  int __pyx_r;
6748  __Pyx_RefNannyDeclarations
6749  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
6750  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
6751  __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
6752  if (unlikely(!__pyx_v_kwargs)) return -1;
6753  __Pyx_GOTREF(__pyx_v_kwargs);
6754  __Pyx_INCREF(__pyx_args);
6755  __pyx_v_args = __pyx_args;
6756  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction___init__(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
6757 
6758  /* function exit code */
6759  __Pyx_XDECREF(__pyx_v_args);
6760  __Pyx_XDECREF(__pyx_v_kwargs);
6761  __Pyx_RefNannyFinishContext();
6762  return __pyx_r;
6763 }
6764 
6765 static int __pyx_pf_10espressomd_12interactions_17BondedInteraction___init__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
6766  PyObject *__pyx_v_bondId = NULL;
6767  PyObject *__pyx_v_k = NULL;
6768  int __pyx_r;
6769  __Pyx_RefNannyDeclarations
6770  int __pyx_t_1;
6771  Py_ssize_t __pyx_t_2;
6772  int __pyx_t_3;
6773  PyObject *__pyx_t_4 = NULL;
6774  int __pyx_t_5;
6775  PyObject *__pyx_t_6 = NULL;
6776  PyObject *__pyx_t_7 = NULL;
6777  PyObject *__pyx_t_8 = NULL;
6778  PyObject *(*__pyx_t_9)(PyObject *);
6779  PyObject *__pyx_t_10 = NULL;
6780  int __pyx_lineno = 0;
6781  const char *__pyx_filename = NULL;
6782  int __pyx_clineno = 0;
6783  __Pyx_RefNannySetupContext("__init__", 0);
6784 
6785  /* "espressomd/interactions.pyx":353
6786  * Or called with keyword arguments describing a new interaction."""
6787  * # Interaction id as argument
6788  * if len(args) == 1 and isinstance(args[0], int): # <<<<<<<<<<<<<<
6789  * bondId = args[0]
6790  * # Check, if the bond in Espresso core is really defined as a FENE
6791  */
6792  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6793  __pyx_t_3 = ((__pyx_t_2 == 1) != 0);
6794  if (__pyx_t_3) {
6795  } else {
6796  __pyx_t_1 = __pyx_t_3;
6797  goto __pyx_L4_bool_binop_done;
6798  }
6799  __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6800  __Pyx_GOTREF(__pyx_t_4);
6801  __pyx_t_3 = PyInt_Check(__pyx_t_4);
6802  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6803  __pyx_t_5 = (__pyx_t_3 != 0);
6804  __pyx_t_1 = __pyx_t_5;
6805  __pyx_L4_bool_binop_done:;
6806  if (__pyx_t_1) {
6807 
6808  /* "espressomd/interactions.pyx":354
6809  * # Interaction id as argument
6810  * if len(args) == 1 and isinstance(args[0], int):
6811  * bondId = args[0] # <<<<<<<<<<<<<<
6812  * # Check, if the bond in Espresso core is really defined as a FENE
6813  * # bond
6814  */
6815  __pyx_t_4 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
6816  __Pyx_GOTREF(__pyx_t_4);
6817  __pyx_v_bondId = __pyx_t_4;
6818  __pyx_t_4 = 0;
6819 
6820  /* "espressomd/interactions.pyx":357
6821  * # Check, if the bond in Espresso core is really defined as a FENE
6822  * # bond
6823  * if bonded_ia_params[bondId].type != self.typeNumber(): # <<<<<<<<<<<<<<
6824  * raise Exception(
6825  * "The bond with this id is not defined as a " + self.typeName() + " bond in the Espresso core.")
6826  */
6827  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_v_bondId); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6828  __pyx_t_4 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_2]).type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6829  __Pyx_GOTREF(__pyx_t_4);
6830  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_typeNumber); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6831  __Pyx_GOTREF(__pyx_t_7);
6832  __pyx_t_8 = NULL;
6833  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_7))) {
6834  __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
6835  if (likely(__pyx_t_8)) {
6836  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
6837  __Pyx_INCREF(__pyx_t_8);
6838  __Pyx_INCREF(function);
6839  __Pyx_DECREF_SET(__pyx_t_7, function);
6840  }
6841  }
6842  if (__pyx_t_8) {
6843  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6844  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
6845  } else {
6846  __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6847  }
6848  __Pyx_GOTREF(__pyx_t_6);
6849  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6850  __pyx_t_7 = PyObject_RichCompare(__pyx_t_4, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6851  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6852  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6853  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6854  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6855  if (__pyx_t_1) {
6856 
6857  /* "espressomd/interactions.pyx":359
6858  * if bonded_ia_params[bondId].type != self.typeNumber():
6859  * raise Exception(
6860  * "The bond with this id is not defined as a " + self.typeName() + " bond in the Espresso core.") # <<<<<<<<<<<<<<
6861  *
6862  * self._bondId = bondId
6863  */
6864  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_typeName); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6865  __Pyx_GOTREF(__pyx_t_6);
6866  __pyx_t_4 = NULL;
6867  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
6868  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
6869  if (likely(__pyx_t_4)) {
6870  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
6871  __Pyx_INCREF(__pyx_t_4);
6872  __Pyx_INCREF(function);
6873  __Pyx_DECREF_SET(__pyx_t_6, function);
6874  }
6875  }
6876  if (__pyx_t_4) {
6877  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6878  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6879  } else {
6880  __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6881  }
6882  __Pyx_GOTREF(__pyx_t_7);
6883  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6884  __pyx_t_6 = PyNumber_Add(__pyx_kp_s_The_bond_with_this_id_is_not_def, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6885  __Pyx_GOTREF(__pyx_t_6);
6886  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6887  __pyx_t_7 = PyNumber_Add(__pyx_t_6, __pyx_kp_s_bond_in_the_Espresso_core); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6888  __Pyx_GOTREF(__pyx_t_7);
6889  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6890 
6891  /* "espressomd/interactions.pyx":358
6892  * # bond
6893  * if bonded_ia_params[bondId].type != self.typeNumber():
6894  * raise Exception( # <<<<<<<<<<<<<<
6895  * "The bond with this id is not defined as a " + self.typeName() + " bond in the Espresso core.")
6896  *
6897  */
6898  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6899  __Pyx_GOTREF(__pyx_t_6);
6900  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7);
6901  __Pyx_GIVEREF(__pyx_t_7);
6902  __pyx_t_7 = 0;
6903  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6904  __Pyx_GOTREF(__pyx_t_7);
6905  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6906  __Pyx_Raise(__pyx_t_7, 0, 0, 0);
6907  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6908  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6909  }
6910 
6911  /* "espressomd/interactions.pyx":361
6912  * "The bond with this id is not defined as a " + self.typeName() + " bond in the Espresso core.")
6913  *
6914  * self._bondId = bondId # <<<<<<<<<<<<<<
6915  *
6916  * # Load the parameters currently set in the Espresso core
6917  */
6918  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bondId, __pyx_v_bondId) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6919 
6920  /* "espressomd/interactions.pyx":364
6921  *
6922  * # Load the parameters currently set in the Espresso core
6923  * self._params = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
6924  * self._bondId = bondId
6925  *
6926  */
6927  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6928  __Pyx_GOTREF(__pyx_t_6);
6929  __pyx_t_4 = NULL;
6930  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
6931  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
6932  if (likely(__pyx_t_4)) {
6933  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
6934  __Pyx_INCREF(__pyx_t_4);
6935  __Pyx_INCREF(function);
6936  __Pyx_DECREF_SET(__pyx_t_6, function);
6937  }
6938  }
6939  if (__pyx_t_4) {
6940  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6941  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6942  } else {
6943  __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6944  }
6945  __Pyx_GOTREF(__pyx_t_7);
6946  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6947  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6948  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6949 
6950  /* "espressomd/interactions.pyx":365
6951  * # Load the parameters currently set in the Espresso core
6952  * self._params = self._getParamsFromEsCore()
6953  * self._bondId = bondId # <<<<<<<<<<<<<<
6954  *
6955  * # Or have we been called with keyword args describing the interaction
6956  */
6957  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bondId, __pyx_v_bondId) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6958  goto __pyx_L3;
6959  }
6960 
6961  /* "espressomd/interactions.pyx":368
6962  *
6963  * # Or have we been called with keyword args describing the interaction
6964  * elif len(args) == 0: # <<<<<<<<<<<<<<
6965  * # Check if all required keys are given
6966  * for k in self.requiredKeys():
6967  */
6968  __pyx_t_2 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6969  __pyx_t_1 = ((__pyx_t_2 == 0) != 0);
6970  if (__pyx_t_1) {
6971 
6972  /* "espressomd/interactions.pyx":370
6973  * elif len(args) == 0:
6974  * # Check if all required keys are given
6975  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
6976  * if k not in kwargs:
6977  * raise ValueError(
6978  */
6979  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6980  __Pyx_GOTREF(__pyx_t_6);
6981  __pyx_t_4 = NULL;
6982  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_6))) {
6983  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
6984  if (likely(__pyx_t_4)) {
6985  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
6986  __Pyx_INCREF(__pyx_t_4);
6987  __Pyx_INCREF(function);
6988  __Pyx_DECREF_SET(__pyx_t_6, function);
6989  }
6990  }
6991  if (__pyx_t_4) {
6992  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6993  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6994  } else {
6995  __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6996  }
6997  __Pyx_GOTREF(__pyx_t_7);
6998  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6999  if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
7000  __pyx_t_6 = __pyx_t_7; __Pyx_INCREF(__pyx_t_6); __pyx_t_2 = 0;
7001  __pyx_t_9 = NULL;
7002  } else {
7003  __pyx_t_2 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7004  __Pyx_GOTREF(__pyx_t_6);
7005  __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7006  }
7007  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
7008  for (;;) {
7009  if (likely(!__pyx_t_9)) {
7010  if (likely(PyList_CheckExact(__pyx_t_6))) {
7011  if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_6)) break;
7012  #if CYTHON_COMPILING_IN_CPYTHON
7013  __pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_7); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7014  #else
7015  __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7016  #endif
7017  } else {
7018  if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
7019  #if CYTHON_COMPILING_IN_CPYTHON
7020  __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_7); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7021  #else
7022  __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7023  #endif
7024  }
7025  } else {
7026  __pyx_t_7 = __pyx_t_9(__pyx_t_6);
7027  if (unlikely(!__pyx_t_7)) {
7028  PyObject* exc_type = PyErr_Occurred();
7029  if (exc_type) {
7030  if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
7031  else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7032  }
7033  break;
7034  }
7035  __Pyx_GOTREF(__pyx_t_7);
7036  }
7037  __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7);
7038  __pyx_t_7 = 0;
7039 
7040  /* "espressomd/interactions.pyx":371
7041  * # Check if all required keys are given
7042  * for k in self.requiredKeys():
7043  * if k not in kwargs: # <<<<<<<<<<<<<<
7044  * raise ValueError(
7045  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
7046  */
7047  __pyx_t_1 = (__Pyx_PyDict_Contains(__pyx_v_k, __pyx_v_kwargs, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7048  __pyx_t_5 = (__pyx_t_1 != 0);
7049  if (__pyx_t_5) {
7050 
7051  /* "espressomd/interactions.pyx":373
7052  * if k not in kwargs:
7053  * raise ValueError(
7054  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__()) # <<<<<<<<<<<<<<
7055  *
7056  * self.params = kwargs
7057  */
7058  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_requiredKeys); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7059  __Pyx_GOTREF(__pyx_t_8);
7060  __pyx_t_10 = NULL;
7061  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
7062  __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
7063  if (likely(__pyx_t_10)) {
7064  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
7065  __Pyx_INCREF(__pyx_t_10);
7066  __Pyx_INCREF(function);
7067  __Pyx_DECREF_SET(__pyx_t_8, function);
7068  }
7069  }
7070  if (__pyx_t_10) {
7071  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7072  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
7073  } else {
7074  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7075  }
7076  __Pyx_GOTREF(__pyx_t_4);
7077  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7078  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_str); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7079  __Pyx_GOTREF(__pyx_t_8);
7080  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7081  __pyx_t_4 = NULL;
7082  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
7083  __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
7084  if (likely(__pyx_t_4)) {
7085  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
7086  __Pyx_INCREF(__pyx_t_4);
7087  __Pyx_INCREF(function);
7088  __Pyx_DECREF_SET(__pyx_t_8, function);
7089  }
7090  }
7091  if (__pyx_t_4) {
7092  __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7093  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7094  } else {
7095  __pyx_t_7 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7096  }
7097  __Pyx_GOTREF(__pyx_t_7);
7098  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7099  __pyx_t_8 = PyNumber_Add(__pyx_kp_s_At_least_the_following_keys_have, __pyx_t_7); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7100  __Pyx_GOTREF(__pyx_t_8);
7101  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
7102 
7103  /* "espressomd/interactions.pyx":372
7104  * for k in self.requiredKeys():
7105  * if k not in kwargs:
7106  * raise ValueError( # <<<<<<<<<<<<<<
7107  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
7108  *
7109  */
7110  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7111  __Pyx_GOTREF(__pyx_t_7);
7112  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
7113  __Pyx_GIVEREF(__pyx_t_8);
7114  __pyx_t_8 = 0;
7115  __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7116  __Pyx_GOTREF(__pyx_t_8);
7117  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
7118  __Pyx_Raise(__pyx_t_8, 0, 0, 0);
7119  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7120  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7121  }
7122 
7123  /* "espressomd/interactions.pyx":370
7124  * elif len(args) == 0:
7125  * # Check if all required keys are given
7126  * for k in self.requiredKeys(): # <<<<<<<<<<<<<<
7127  * if k not in kwargs:
7128  * raise ValueError(
7129  */
7130  }
7131  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7132 
7133  /* "espressomd/interactions.pyx":375
7134  * "At least the following keys have to be given as keyword arguments: " + self.requiredKeys().__str__())
7135  *
7136  * self.params = kwargs # <<<<<<<<<<<<<<
7137  *
7138  * # Validation of parameters
7139  */
7140  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params_2, __pyx_v_kwargs) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7141 
7142  /* "espressomd/interactions.pyx":378
7143  *
7144  * # Validation of parameters
7145  * self.validateParams() # <<<<<<<<<<<<<<
7146  *
7147  * else:
7148  */
7149  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validateParams); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7150  __Pyx_GOTREF(__pyx_t_8);
7151  __pyx_t_7 = NULL;
7152  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_8))) {
7153  __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
7154  if (likely(__pyx_t_7)) {
7155  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
7156  __Pyx_INCREF(__pyx_t_7);
7157  __Pyx_INCREF(function);
7158  __Pyx_DECREF_SET(__pyx_t_8, function);
7159  }
7160  }
7161  if (__pyx_t_7) {
7162  __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7163  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
7164  } else {
7165  __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7166  }
7167  __Pyx_GOTREF(__pyx_t_6);
7168  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
7169  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7170  goto __pyx_L3;
7171  }
7172  /*else*/ {
7173 
7174  /* "espressomd/interactions.pyx":381
7175  *
7176  * else:
7177  * raise Exception( # <<<<<<<<<<<<<<
7178  * "The constructor has to be called either with a bond id (as interger), or with a set of keyword arguments describing a new interaction")
7179  *
7180  */
7181  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7182  __Pyx_GOTREF(__pyx_t_6);
7183  __Pyx_Raise(__pyx_t_6, 0, 0, 0);
7184  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7185  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7186  }
7187  __pyx_L3:;
7188 
7189  /* "espressomd/interactions.pyx":348
7190  *
7191  * cdef class BondedInteraction(object):
7192  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
7193  * """Either called with an interaction id, in which case, the interaction will represent
7194  * the bonded interaction as it is defined in Espresso core
7195  */
7196 
7197  /* function exit code */
7198  __pyx_r = 0;
7199  goto __pyx_L0;
7200  __pyx_L1_error:;
7201  __Pyx_XDECREF(__pyx_t_4);
7202  __Pyx_XDECREF(__pyx_t_6);
7203  __Pyx_XDECREF(__pyx_t_7);
7204  __Pyx_XDECREF(__pyx_t_8);
7205  __Pyx_XDECREF(__pyx_t_10);
7206  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7207  __pyx_r = -1;
7208  __pyx_L0:;
7209  __Pyx_XDECREF(__pyx_v_bondId);
7210  __Pyx_XDECREF(__pyx_v_k);
7211  __Pyx_RefNannyFinishContext();
7212  return __pyx_r;
7213 }
7214 
7215 /* "espressomd/interactions.pyx":384
7216  * "The constructor has to be called either with a bond id (as interger), or with a set of keyword arguments describing a new interaction")
7217  *
7218  * def isValid(self): # <<<<<<<<<<<<<<
7219  * """Check, if the data stored in the instance still matches what is in Espresso"""
7220  * # Check if the bond type in Espresso still matches the bond type saved
7221  */
7222 
7223 /* Python wrapper */
7224 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_3isValid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7225 static char __pyx_doc_10espressomd_12interactions_17BondedInteraction_2isValid[] = "Check, if the data stored in the instance still matches what is in Espresso";
7226 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_3isValid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7227  PyObject *__pyx_r = 0;
7228  __Pyx_RefNannyDeclarations
7229  __Pyx_RefNannySetupContext("isValid (wrapper)", 0);
7230  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_2isValid(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7231 
7232  /* function exit code */
7233  __Pyx_RefNannyFinishContext();
7234  return __pyx_r;
7235 }
7236 
7237 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_2isValid(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7238  PyObject *__pyx_v_tempParams = NULL;
7239  PyObject *__pyx_r = NULL;
7240  __Pyx_RefNannyDeclarations
7241  PyObject *__pyx_t_1 = NULL;
7242  Py_ssize_t __pyx_t_2;
7243  PyObject *__pyx_t_3 = NULL;
7244  PyObject *__pyx_t_4 = NULL;
7245  PyObject *__pyx_t_5 = NULL;
7246  int __pyx_t_6;
7247  int __pyx_lineno = 0;
7248  const char *__pyx_filename = NULL;
7249  int __pyx_clineno = 0;
7250  __Pyx_RefNannySetupContext("isValid", 0);
7251 
7252  /* "espressomd/interactions.pyx":388
7253  * # Check if the bond type in Espresso still matches the bond type saved
7254  * # in this class
7255  * if bonded_ia_params[self._bondId].type != self.typeNumber(): # <<<<<<<<<<<<<<
7256  * return False
7257  *
7258  */
7259  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7260  __Pyx_GOTREF(__pyx_t_1);
7261  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7262  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7263  __pyx_t_1 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_2]).type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7264  __Pyx_GOTREF(__pyx_t_1);
7265  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_typeNumber); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7266  __Pyx_GOTREF(__pyx_t_4);
7267  __pyx_t_5 = NULL;
7268  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
7269  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
7270  if (likely(__pyx_t_5)) {
7271  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
7272  __Pyx_INCREF(__pyx_t_5);
7273  __Pyx_INCREF(function);
7274  __Pyx_DECREF_SET(__pyx_t_4, function);
7275  }
7276  }
7277  if (__pyx_t_5) {
7278  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7279  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
7280  } else {
7281  __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7282  }
7283  __Pyx_GOTREF(__pyx_t_3);
7284  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7285  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7286  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7287  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7288  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7289  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7290  if (__pyx_t_6) {
7291 
7292  /* "espressomd/interactions.pyx":389
7293  * # in this class
7294  * if bonded_ia_params[self._bondId].type != self.typeNumber():
7295  * return False # <<<<<<<<<<<<<<
7296  *
7297  * # check, if the bond parameters saved in the class still match those
7298  */
7299  __Pyx_XDECREF(__pyx_r);
7300  __Pyx_INCREF(Py_False);
7301  __pyx_r = Py_False;
7302  goto __pyx_L0;
7303  }
7304 
7305  /* "espressomd/interactions.pyx":393
7306  * # check, if the bond parameters saved in the class still match those
7307  * # saved in Espresso
7308  * tempParams = self._getParamsFromEsCore() # <<<<<<<<<<<<<<
7309  * if self._params != tempParams:
7310  * return False
7311  */
7312  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getParamsFromEsCore); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7313  __Pyx_GOTREF(__pyx_t_3);
7314  __pyx_t_1 = NULL;
7315  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
7316  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
7317  if (likely(__pyx_t_1)) {
7318  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7319  __Pyx_INCREF(__pyx_t_1);
7320  __Pyx_INCREF(function);
7321  __Pyx_DECREF_SET(__pyx_t_3, function);
7322  }
7323  }
7324  if (__pyx_t_1) {
7325  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7326  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7327  } else {
7328  __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7329  }
7330  __Pyx_GOTREF(__pyx_t_4);
7331  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7332  __pyx_v_tempParams = __pyx_t_4;
7333  __pyx_t_4 = 0;
7334 
7335  /* "espressomd/interactions.pyx":394
7336  * # saved in Espresso
7337  * tempParams = self._getParamsFromEsCore()
7338  * if self._params != tempParams: # <<<<<<<<<<<<<<
7339  * return False
7340  *
7341  */
7342  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7343  __Pyx_GOTREF(__pyx_t_4);
7344  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_v_tempParams, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7345  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7346  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7347  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7348  if (__pyx_t_6) {
7349 
7350  /* "espressomd/interactions.pyx":395
7351  * tempParams = self._getParamsFromEsCore()
7352  * if self._params != tempParams:
7353  * return False # <<<<<<<<<<<<<<
7354  *
7355  * # If we're still here, the instance is valid
7356  */
7357  __Pyx_XDECREF(__pyx_r);
7358  __Pyx_INCREF(Py_False);
7359  __pyx_r = Py_False;
7360  goto __pyx_L0;
7361  }
7362 
7363  /* "espressomd/interactions.pyx":398
7364  *
7365  * # If we're still here, the instance is valid
7366  * return True # <<<<<<<<<<<<<<
7367  *
7368  * property params:
7369  */
7370  __Pyx_XDECREF(__pyx_r);
7371  __Pyx_INCREF(Py_True);
7372  __pyx_r = Py_True;
7373  goto __pyx_L0;
7374 
7375  /* "espressomd/interactions.pyx":384
7376  * "The constructor has to be called either with a bond id (as interger), or with a set of keyword arguments describing a new interaction")
7377  *
7378  * def isValid(self): # <<<<<<<<<<<<<<
7379  * """Check, if the data stored in the instance still matches what is in Espresso"""
7380  * # Check if the bond type in Espresso still matches the bond type saved
7381  */
7382 
7383  /* function exit code */
7384  __pyx_L1_error:;
7385  __Pyx_XDECREF(__pyx_t_1);
7386  __Pyx_XDECREF(__pyx_t_3);
7387  __Pyx_XDECREF(__pyx_t_4);
7388  __Pyx_XDECREF(__pyx_t_5);
7389  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.isValid", __pyx_clineno, __pyx_lineno, __pyx_filename);
7390  __pyx_r = NULL;
7391  __pyx_L0:;
7392  __Pyx_XDECREF(__pyx_v_tempParams);
7393  __Pyx_XGIVEREF(__pyx_r);
7394  __Pyx_RefNannyFinishContext();
7395  return __pyx_r;
7396 }
7397 
7398 /* "espressomd/interactions.pyx":401
7399  *
7400  * property params:
7401  * def __get__(self): # <<<<<<<<<<<<<<
7402  * return self._params
7403  *
7404  */
7405 
7406 /* Python wrapper */
7407 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
7408 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_1__get__(PyObject *__pyx_v_self) {
7409  PyObject *__pyx_r = 0;
7410  __Pyx_RefNannyDeclarations
7411  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
7412  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_6params___get__(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7413 
7414  /* function exit code */
7415  __Pyx_RefNannyFinishContext();
7416  return __pyx_r;
7417 }
7418 
7419 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_6params___get__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7420  PyObject *__pyx_r = NULL;
7421  __Pyx_RefNannyDeclarations
7422  PyObject *__pyx_t_1 = NULL;
7423  int __pyx_lineno = 0;
7424  const char *__pyx_filename = NULL;
7425  int __pyx_clineno = 0;
7426  __Pyx_RefNannySetupContext("__get__", 0);
7427 
7428  /* "espressomd/interactions.pyx":402
7429  * property params:
7430  * def __get__(self):
7431  * return self._params # <<<<<<<<<<<<<<
7432  *
7433  * def __set__(self, p):
7434  */
7435  __Pyx_XDECREF(__pyx_r);
7436  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7437  __Pyx_GOTREF(__pyx_t_1);
7438  __pyx_r = __pyx_t_1;
7439  __pyx_t_1 = 0;
7440  goto __pyx_L0;
7441 
7442  /* "espressomd/interactions.pyx":401
7443  *
7444  * property params:
7445  * def __get__(self): # <<<<<<<<<<<<<<
7446  * return self._params
7447  *
7448  */
7449 
7450  /* function exit code */
7451  __pyx_L1_error:;
7452  __Pyx_XDECREF(__pyx_t_1);
7453  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.params.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7454  __pyx_r = NULL;
7455  __pyx_L0:;
7456  __Pyx_XGIVEREF(__pyx_r);
7457  __Pyx_RefNannyFinishContext();
7458  return __pyx_r;
7459 }
7460 
7461 /* "espressomd/interactions.pyx":404
7462  * return self._params
7463  *
7464  * def __set__(self, p): # <<<<<<<<<<<<<<
7465  * # Check, if any key was passed, which is not known
7466  * for k in p.keys():
7467  */
7468 
7469 /* Python wrapper */
7470 static int __pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_p); /*proto*/
7471 static int __pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_p) {
7472  int __pyx_r;
7473  __Pyx_RefNannyDeclarations
7474  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
7475  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_6params_2__set__(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self), ((PyObject *)__pyx_v_p));
7476 
7477  /* function exit code */
7478  __Pyx_RefNannyFinishContext();
7479  return __pyx_r;
7480 }
7481 
7482 static int __pyx_pf_10espressomd_12interactions_17BondedInteraction_6params_2__set__(struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self, PyObject *__pyx_v_p) {
7483  PyObject *__pyx_v_k = NULL;
7484  int __pyx_r;
7485  __Pyx_RefNannyDeclarations
7486  PyObject *__pyx_t_1 = NULL;
7487  PyObject *__pyx_t_2 = NULL;
7488  PyObject *__pyx_t_3 = NULL;
7489  Py_ssize_t __pyx_t_4;
7490  PyObject *(*__pyx_t_5)(PyObject *);
7491  PyObject *__pyx_t_6 = NULL;
7492  int __pyx_t_7;
7493  int __pyx_t_8;
7494  int __pyx_lineno = 0;
7495  const char *__pyx_filename = NULL;
7496  int __pyx_clineno = 0;
7497  __Pyx_RefNannySetupContext("__set__", 0);
7498 
7499  /* "espressomd/interactions.pyx":406
7500  * def __set__(self, p):
7501  * # Check, if any key was passed, which is not known
7502  * for k in p.keys(): # <<<<<<<<<<<<<<
7503  * if k not in self.validKeys():
7504  * raise ValueError(
7505  */
7506  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_keys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7507  __Pyx_GOTREF(__pyx_t_2);
7508  __pyx_t_3 = NULL;
7509  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) {
7510  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
7511  if (likely(__pyx_t_3)) {
7512  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
7513  __Pyx_INCREF(__pyx_t_3);
7514  __Pyx_INCREF(function);
7515  __Pyx_DECREF_SET(__pyx_t_2, function);
7516  }
7517  }
7518  if (__pyx_t_3) {
7519  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7520  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7521  } else {
7522  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7523  }
7524  __Pyx_GOTREF(__pyx_t_1);
7525  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7526  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
7527  __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
7528  __pyx_t_5 = NULL;
7529  } else {
7530  __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7531  __Pyx_GOTREF(__pyx_t_2);
7532  __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7533  }
7534  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7535  for (;;) {
7536  if (likely(!__pyx_t_5)) {
7537  if (likely(PyList_CheckExact(__pyx_t_2))) {
7538  if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
7539  #if CYTHON_COMPILING_IN_CPYTHON
7540  __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7541  #else
7542  __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7543  #endif
7544  } else {
7545  if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
7546  #if CYTHON_COMPILING_IN_CPYTHON
7547  __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7548  #else
7549  __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7550  #endif
7551  }
7552  } else {
7553  __pyx_t_1 = __pyx_t_5(__pyx_t_2);
7554  if (unlikely(!__pyx_t_1)) {
7555  PyObject* exc_type = PyErr_Occurred();
7556  if (exc_type) {
7557  if (likely(exc_type == PyExc_StopIteration || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
7558  else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7559  }
7560  break;
7561  }
7562  __Pyx_GOTREF(__pyx_t_1);
7563  }
7564  __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_1);
7565  __pyx_t_1 = 0;
7566 
7567  /* "espressomd/interactions.pyx":407
7568  * # Check, if any key was passed, which is not known
7569  * for k in p.keys():
7570  * if k not in self.validKeys(): # <<<<<<<<<<<<<<
7571  * raise ValueError(
7572  * "Only the following keys are supported: " + self.validKeys().__str__)
7573  */
7574  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validKeys); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7575  __Pyx_GOTREF(__pyx_t_3);
7576  __pyx_t_6 = NULL;
7577  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
7578  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
7579  if (likely(__pyx_t_6)) {
7580  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7581  __Pyx_INCREF(__pyx_t_6);
7582  __Pyx_INCREF(function);
7583  __Pyx_DECREF_SET(__pyx_t_3, function);
7584  }
7585  }
7586  if (__pyx_t_6) {
7587  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7588  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7589  } else {
7590  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7591  }
7592  __Pyx_GOTREF(__pyx_t_1);
7593  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7594  __pyx_t_7 = (__Pyx_PySequence_Contains(__pyx_v_k, __pyx_t_1, Py_NE)); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7595  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7596  __pyx_t_8 = (__pyx_t_7 != 0);
7597  if (__pyx_t_8) {
7598 
7599  /* "espressomd/interactions.pyx":409
7600  * if k not in self.validKeys():
7601  * raise ValueError(
7602  * "Only the following keys are supported: " + self.validKeys().__str__) # <<<<<<<<<<<<<<
7603  *
7604  * # Initialize default values
7605  */
7606  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_validKeys); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7607  __Pyx_GOTREF(__pyx_t_3);
7608  __pyx_t_6 = NULL;
7609  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
7610  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
7611  if (likely(__pyx_t_6)) {
7612  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7613  __Pyx_INCREF(__pyx_t_6);
7614  __Pyx_INCREF(function);
7615  __Pyx_DECREF_SET(__pyx_t_3, function);
7616  }
7617  }
7618  if (__pyx_t_6) {
7619  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7620  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7621  } else {
7622  __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7623  }
7624  __Pyx_GOTREF(__pyx_t_1);
7625  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7626  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_str); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7627  __Pyx_GOTREF(__pyx_t_3);
7628  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7629  __pyx_t_1 = PyNumber_Add(__pyx_kp_s_Only_the_following_keys_are_supp, __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7630  __Pyx_GOTREF(__pyx_t_1);
7631  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7632 
7633  /* "espressomd/interactions.pyx":408
7634  * for k in p.keys():
7635  * if k not in self.validKeys():
7636  * raise ValueError( # <<<<<<<<<<<<<<
7637  * "Only the following keys are supported: " + self.validKeys().__str__)
7638  *
7639  */
7640  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7641  __Pyx_GOTREF(__pyx_t_3);
7642  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
7643  __Pyx_GIVEREF(__pyx_t_1);
7644  __pyx_t_1 = 0;
7645  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7646  __Pyx_GOTREF(__pyx_t_1);
7647  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7648  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7649  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7650  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7651  }
7652 
7653  /* "espressomd/interactions.pyx":406
7654  * def __set__(self, p):
7655  * # Check, if any key was passed, which is not known
7656  * for k in p.keys(): # <<<<<<<<<<<<<<
7657  * if k not in self.validKeys():
7658  * raise ValueError(
7659  */
7660  }
7661  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7662 
7663  /* "espressomd/interactions.pyx":412
7664  *
7665  * # Initialize default values
7666  * self.setDefaultParams() # <<<<<<<<<<<<<<
7667  * # Put in values given by the user
7668  * self._params.update(p)
7669  */
7670  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_setDefaultParams); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7671  __Pyx_GOTREF(__pyx_t_1);
7672  __pyx_t_3 = NULL;
7673  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_1))) {
7674  __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
7675  if (likely(__pyx_t_3)) {
7676  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
7677  __Pyx_INCREF(__pyx_t_3);
7678  __Pyx_INCREF(function);
7679  __Pyx_DECREF_SET(__pyx_t_1, function);
7680  }
7681  }
7682  if (__pyx_t_3) {
7683  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7684  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7685  } else {
7686  __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7687  }
7688  __Pyx_GOTREF(__pyx_t_2);
7689  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7690  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7691 
7692  /* "espressomd/interactions.pyx":414
7693  * self.setDefaultParams()
7694  * # Put in values given by the user
7695  * self._params.update(p) # <<<<<<<<<<<<<<
7696  *
7697  * def validateParams(self):
7698  */
7699  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7700  __Pyx_GOTREF(__pyx_t_1);
7701  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_update); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7702  __Pyx_GOTREF(__pyx_t_3);
7703  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7704  __pyx_t_1 = NULL;
7705  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
7706  __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
7707  if (likely(__pyx_t_1)) {
7708  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
7709  __Pyx_INCREF(__pyx_t_1);
7710  __Pyx_INCREF(function);
7711  __Pyx_DECREF_SET(__pyx_t_3, function);
7712  }
7713  }
7714  if (!__pyx_t_1) {
7715  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7716  __Pyx_GOTREF(__pyx_t_2);
7717  } else {
7718  __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7719  __Pyx_GOTREF(__pyx_t_6);
7720  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = NULL;
7721  __Pyx_INCREF(__pyx_v_p);
7722  PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_p);
7723  __Pyx_GIVEREF(__pyx_v_p);
7724  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7725  __Pyx_GOTREF(__pyx_t_2);
7726  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
7727  }
7728  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7729  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7730 
7731  /* "espressomd/interactions.pyx":404
7732  * return self._params
7733  *
7734  * def __set__(self, p): # <<<<<<<<<<<<<<
7735  * # Check, if any key was passed, which is not known
7736  * for k in p.keys():
7737  */
7738 
7739  /* function exit code */
7740  __pyx_r = 0;
7741  goto __pyx_L0;
7742  __pyx_L1_error:;
7743  __Pyx_XDECREF(__pyx_t_1);
7744  __Pyx_XDECREF(__pyx_t_2);
7745  __Pyx_XDECREF(__pyx_t_3);
7746  __Pyx_XDECREF(__pyx_t_6);
7747  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7748  __pyx_r = -1;
7749  __pyx_L0:;
7750  __Pyx_XDECREF(__pyx_v_k);
7751  __Pyx_RefNannyFinishContext();
7752  return __pyx_r;
7753 }
7754 
7755 /* "espressomd/interactions.pyx":416
7756  * self._params.update(p)
7757  *
7758  * def validateParams(self): # <<<<<<<<<<<<<<
7759  * return True
7760  *
7761  */
7762 
7763 /* Python wrapper */
7764 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_5validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7765 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_5validateParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7766  PyObject *__pyx_r = 0;
7767  __Pyx_RefNannyDeclarations
7768  __Pyx_RefNannySetupContext("validateParams (wrapper)", 0);
7769  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_4validateParams(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7770 
7771  /* function exit code */
7772  __Pyx_RefNannyFinishContext();
7773  return __pyx_r;
7774 }
7775 
7776 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_4validateParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7777  PyObject *__pyx_r = NULL;
7778  __Pyx_RefNannyDeclarations
7779  __Pyx_RefNannySetupContext("validateParams", 0);
7780 
7781  /* "espressomd/interactions.pyx":417
7782  *
7783  * def validateParams(self):
7784  * return True # <<<<<<<<<<<<<<
7785  *
7786  * def _getParamsFromEsCore(self):
7787  */
7788  __Pyx_XDECREF(__pyx_r);
7789  __Pyx_INCREF(Py_True);
7790  __pyx_r = Py_True;
7791  goto __pyx_L0;
7792 
7793  /* "espressomd/interactions.pyx":416
7794  * self._params.update(p)
7795  *
7796  * def validateParams(self): # <<<<<<<<<<<<<<
7797  * return True
7798  *
7799  */
7800 
7801  /* function exit code */
7802  __pyx_L0:;
7803  __Pyx_XGIVEREF(__pyx_r);
7804  __Pyx_RefNannyFinishContext();
7805  return __pyx_r;
7806 }
7807 
7808 /* "espressomd/interactions.pyx":419
7809  * return True
7810  *
7811  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
7812  * raise Exception(
7813  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
7814  */
7815 
7816 /* Python wrapper */
7817 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_7_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7818 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_7_getParamsFromEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7819  PyObject *__pyx_r = 0;
7820  __Pyx_RefNannyDeclarations
7821  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
7822  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_6_getParamsFromEsCore(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7823 
7824  /* function exit code */
7825  __Pyx_RefNannyFinishContext();
7826  return __pyx_r;
7827 }
7828 
7829 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_6_getParamsFromEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7830  PyObject *__pyx_r = NULL;
7831  __Pyx_RefNannyDeclarations
7832  PyObject *__pyx_t_1 = NULL;
7833  int __pyx_lineno = 0;
7834  const char *__pyx_filename = NULL;
7835  int __pyx_clineno = 0;
7836  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
7837 
7838  /* "espressomd/interactions.pyx":420
7839  *
7840  * def _getParamsFromEsCore(self):
7841  * raise Exception( # <<<<<<<<<<<<<<
7842  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
7843  *
7844  */
7845  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7846  __Pyx_GOTREF(__pyx_t_1);
7847  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7848  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7849  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7850 
7851  /* "espressomd/interactions.pyx":419
7852  * return True
7853  *
7854  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
7855  * raise Exception(
7856  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
7857  */
7858 
7859  /* function exit code */
7860  __pyx_L1_error:;
7861  __Pyx_XDECREF(__pyx_t_1);
7862  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
7863  __pyx_r = NULL;
7864  __Pyx_XGIVEREF(__pyx_r);
7865  __Pyx_RefNannyFinishContext();
7866  return __pyx_r;
7867 }
7868 
7869 /* "espressomd/interactions.pyx":423
7870  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
7871  *
7872  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
7873  * raise Exception(
7874  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
7875  */
7876 
7877 /* Python wrapper */
7878 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_9_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7879 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_9_setParamsInEsCore(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7880  PyObject *__pyx_r = 0;
7881  __Pyx_RefNannyDeclarations
7882  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
7883  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_8_setParamsInEsCore(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7884 
7885  /* function exit code */
7886  __Pyx_RefNannyFinishContext();
7887  return __pyx_r;
7888 }
7889 
7890 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_8_setParamsInEsCore(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7891  PyObject *__pyx_r = NULL;
7892  __Pyx_RefNannyDeclarations
7893  PyObject *__pyx_t_1 = NULL;
7894  int __pyx_lineno = 0;
7895  const char *__pyx_filename = NULL;
7896  int __pyx_clineno = 0;
7897  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
7898 
7899  /* "espressomd/interactions.pyx":424
7900  *
7901  * def _setParamsInEsCore(self):
7902  * raise Exception( # <<<<<<<<<<<<<<
7903  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
7904  *
7905  */
7906  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7907  __Pyx_GOTREF(__pyx_t_1);
7908  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7909  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7910  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7911 
7912  /* "espressomd/interactions.pyx":423
7913  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
7914  *
7915  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
7916  * raise Exception(
7917  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
7918  */
7919 
7920  /* function exit code */
7921  __pyx_L1_error:;
7922  __Pyx_XDECREF(__pyx_t_1);
7923  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
7924  __pyx_r = NULL;
7925  __Pyx_XGIVEREF(__pyx_r);
7926  __Pyx_RefNannyFinishContext();
7927  return __pyx_r;
7928 }
7929 
7930 /* "espressomd/interactions.pyx":427
7931  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
7932  *
7933  * def setDefaultParams(self): # <<<<<<<<<<<<<<
7934  * raise Exception(
7935  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
7936  */
7937 
7938 /* Python wrapper */
7939 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_11setDefaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
7940 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_11setDefaultParams(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
7941  PyObject *__pyx_r = 0;
7942  __Pyx_RefNannyDeclarations
7943  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
7944  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_10setDefaultParams(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
7945 
7946  /* function exit code */
7947  __Pyx_RefNannyFinishContext();
7948  return __pyx_r;
7949 }
7950 
7951 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_10setDefaultParams(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
7952  PyObject *__pyx_r = NULL;
7953  __Pyx_RefNannyDeclarations
7954  PyObject *__pyx_t_1 = NULL;
7955  int __pyx_lineno = 0;
7956  const char *__pyx_filename = NULL;
7957  int __pyx_clineno = 0;
7958  __Pyx_RefNannySetupContext("setDefaultParams", 0);
7959 
7960  /* "espressomd/interactions.pyx":428
7961  *
7962  * def setDefaultParams(self):
7963  * raise Exception( # <<<<<<<<<<<<<<
7964  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
7965  *
7966  */
7967  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7968  __Pyx_GOTREF(__pyx_t_1);
7969  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7970  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7971  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7972 
7973  /* "espressomd/interactions.pyx":427
7974  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
7975  *
7976  * def setDefaultParams(self): # <<<<<<<<<<<<<<
7977  * raise Exception(
7978  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
7979  */
7980 
7981  /* function exit code */
7982  __pyx_L1_error:;
7983  __Pyx_XDECREF(__pyx_t_1);
7984  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
7985  __pyx_r = NULL;
7986  __Pyx_XGIVEREF(__pyx_r);
7987  __Pyx_RefNannyFinishContext();
7988  return __pyx_r;
7989 }
7990 
7991 /* "espressomd/interactions.pyx":431
7992  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
7993  *
7994  * def typeNumber(self): # <<<<<<<<<<<<<<
7995  * raise Exception(
7996  * "Subclasses of BondedInteraction must define the typeNumber() method.")
7997  */
7998 
7999 /* Python wrapper */
8000 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_13typeNumber(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
8001 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_13typeNumber(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
8002  PyObject *__pyx_r = 0;
8003  __Pyx_RefNannyDeclarations
8004  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
8005  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_12typeNumber(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
8006 
8007  /* function exit code */
8008  __Pyx_RefNannyFinishContext();
8009  return __pyx_r;
8010 }
8011 
8012 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_12typeNumber(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
8013  PyObject *__pyx_r = NULL;
8014  __Pyx_RefNannyDeclarations
8015  PyObject *__pyx_t_1 = NULL;
8016  int __pyx_lineno = 0;
8017  const char *__pyx_filename = NULL;
8018  int __pyx_clineno = 0;
8019  __Pyx_RefNannySetupContext("typeNumber", 0);
8020 
8021  /* "espressomd/interactions.pyx":432
8022  *
8023  * def typeNumber(self):
8024  * raise Exception( # <<<<<<<<<<<<<<
8025  * "Subclasses of BondedInteraction must define the typeNumber() method.")
8026  *
8027  */
8028  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8029  __Pyx_GOTREF(__pyx_t_1);
8030  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8031  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8032  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8033 
8034  /* "espressomd/interactions.pyx":431
8035  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
8036  *
8037  * def typeNumber(self): # <<<<<<<<<<<<<<
8038  * raise Exception(
8039  * "Subclasses of BondedInteraction must define the typeNumber() method.")
8040  */
8041 
8042  /* function exit code */
8043  __pyx_L1_error:;
8044  __Pyx_XDECREF(__pyx_t_1);
8045  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.typeNumber", __pyx_clineno, __pyx_lineno, __pyx_filename);
8046  __pyx_r = NULL;
8047  __Pyx_XGIVEREF(__pyx_r);
8048  __Pyx_RefNannyFinishContext();
8049  return __pyx_r;
8050 }
8051 
8052 /* "espressomd/interactions.pyx":435
8053  * "Subclasses of BondedInteraction must define the typeNumber() method.")
8054  *
8055  * def typeName(self): # <<<<<<<<<<<<<<
8056  * raise Exception(
8057  * "Subclasses of BondedInteraction must define the typeName() method.")
8058  */
8059 
8060 /* Python wrapper */
8061 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_15typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
8062 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_15typeName(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
8063  PyObject *__pyx_r = 0;
8064  __Pyx_RefNannyDeclarations
8065  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
8066  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_14typeName(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
8067 
8068  /* function exit code */
8069  __Pyx_RefNannyFinishContext();
8070  return __pyx_r;
8071 }
8072 
8073 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_14typeName(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
8074  PyObject *__pyx_r = NULL;
8075  __Pyx_RefNannyDeclarations
8076  PyObject *__pyx_t_1 = NULL;
8077  int __pyx_lineno = 0;
8078  const char *__pyx_filename = NULL;
8079  int __pyx_clineno = 0;
8080  __Pyx_RefNannySetupContext("typeName", 0);
8081 
8082  /* "espressomd/interactions.pyx":436
8083  *
8084  * def typeName(self):
8085  * raise Exception( # <<<<<<<<<<<<<<
8086  * "Subclasses of BondedInteraction must define the typeName() method.")
8087  *
8088  */
8089  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8090  __Pyx_GOTREF(__pyx_t_1);
8091  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8092  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8093  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8094 
8095  /* "espressomd/interactions.pyx":435
8096  * "Subclasses of BondedInteraction must define the typeNumber() method.")
8097  *
8098  * def typeName(self): # <<<<<<<<<<<<<<
8099  * raise Exception(
8100  * "Subclasses of BondedInteraction must define the typeName() method.")
8101  */
8102 
8103  /* function exit code */
8104  __pyx_L1_error:;
8105  __Pyx_XDECREF(__pyx_t_1);
8106  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.typeName", __pyx_clineno, __pyx_lineno, __pyx_filename);
8107  __pyx_r = NULL;
8108  __Pyx_XGIVEREF(__pyx_r);
8109  __Pyx_RefNannyFinishContext();
8110  return __pyx_r;
8111 }
8112 
8113 /* "espressomd/interactions.pyx":439
8114  * "Subclasses of BondedInteraction must define the typeName() method.")
8115  *
8116  * def validKeys(self): # <<<<<<<<<<<<<<
8117  * raise Exception(
8118  * "Subclasses of BondedInteraction must define the validKeys() method.")
8119  */
8120 
8121 /* Python wrapper */
8122 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_17validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
8123 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_17validKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
8124  PyObject *__pyx_r = 0;
8125  __Pyx_RefNannyDeclarations
8126  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
8127  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_16validKeys(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
8128 
8129  /* function exit code */
8130  __Pyx_RefNannyFinishContext();
8131  return __pyx_r;
8132 }
8133 
8134 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_16validKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
8135  PyObject *__pyx_r = NULL;
8136  __Pyx_RefNannyDeclarations
8137  PyObject *__pyx_t_1 = NULL;
8138  int __pyx_lineno = 0;
8139  const char *__pyx_filename = NULL;
8140  int __pyx_clineno = 0;
8141  __Pyx_RefNannySetupContext("validKeys", 0);
8142 
8143  /* "espressomd/interactions.pyx":440
8144  *
8145  * def validKeys(self):
8146  * raise Exception( # <<<<<<<<<<<<<<
8147  * "Subclasses of BondedInteraction must define the validKeys() method.")
8148  *
8149  */
8150  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8151  __Pyx_GOTREF(__pyx_t_1);
8152  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8153  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8154  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8155 
8156  /* "espressomd/interactions.pyx":439
8157  * "Subclasses of BondedInteraction must define the typeName() method.")
8158  *
8159  * def validKeys(self): # <<<<<<<<<<<<<<
8160  * raise Exception(
8161  * "Subclasses of BondedInteraction must define the validKeys() method.")
8162  */
8163 
8164  /* function exit code */
8165  __pyx_L1_error:;
8166  __Pyx_XDECREF(__pyx_t_1);
8167  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.validKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
8168  __pyx_r = NULL;
8169  __Pyx_XGIVEREF(__pyx_r);
8170  __Pyx_RefNannyFinishContext();
8171  return __pyx_r;
8172 }
8173 
8174 /* "espressomd/interactions.pyx":443
8175  * "Subclasses of BondedInteraction must define the validKeys() method.")
8176  *
8177  * def requiredKeys(self): # <<<<<<<<<<<<<<
8178  * raise Exception(
8179  * "Subclasses of BondedInteraction must define the requiredKeys() method.")
8180  */
8181 
8182 /* Python wrapper */
8183 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_19requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
8184 static PyObject *__pyx_pw_10espressomd_12interactions_17BondedInteraction_19requiredKeys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
8185  PyObject *__pyx_r = 0;
8186  __Pyx_RefNannyDeclarations
8187  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
8188  __pyx_r = __pyx_pf_10espressomd_12interactions_17BondedInteraction_18requiredKeys(((struct __pyx_obj_10espressomd_12interactions_BondedInteraction *)__pyx_v_self));
8189 
8190  /* function exit code */
8191  __Pyx_RefNannyFinishContext();
8192  return __pyx_r;
8193 }
8194 
8195 static PyObject *__pyx_pf_10espressomd_12interactions_17BondedInteraction_18requiredKeys(CYTHON_UNUSED struct __pyx_obj_10espressomd_12interactions_BondedInteraction *__pyx_v_self) {
8196  PyObject *__pyx_r = NULL;
8197  __Pyx_RefNannyDeclarations
8198  PyObject *__pyx_t_1 = NULL;
8199  int __pyx_lineno = 0;
8200  const char *__pyx_filename = NULL;
8201  int __pyx_clineno = 0;
8202  __Pyx_RefNannySetupContext("requiredKeys", 0);
8203 
8204  /* "espressomd/interactions.pyx":444
8205  *
8206  * def requiredKeys(self):
8207  * raise Exception( # <<<<<<<<<<<<<<
8208  * "Subclasses of BondedInteraction must define the requiredKeys() method.")
8209  *
8210  */
8211  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8212  __Pyx_GOTREF(__pyx_t_1);
8213  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8214  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8215  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8216 
8217  /* "espressomd/interactions.pyx":443
8218  * "Subclasses of BondedInteraction must define the validKeys() method.")
8219  *
8220  * def requiredKeys(self): # <<<<<<<<<<<<<<
8221  * raise Exception(
8222  * "Subclasses of BondedInteraction must define the requiredKeys() method.")
8223  */
8224 
8225  /* function exit code */
8226  __pyx_L1_error:;
8227  __Pyx_XDECREF(__pyx_t_1);
8228  __Pyx_AddTraceback("espressomd.interactions.BondedInteraction.requiredKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
8229  __pyx_r = NULL;
8230  __Pyx_XGIVEREF(__pyx_r);
8231  __Pyx_RefNannyFinishContext();
8232  return __pyx_r;
8233 }
8234 
8235 /* "espressomd/interactions.pyx":450
8236  * class BondedInteractionNotDefined(object):
8237  *
8238  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
8239  * raise Exception(
8240  * self.__class_s__.__name__ + " not compiled into Espresso core")
8241  */
8242 
8243 /* Python wrapper */
8244 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8245 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_1__init__ = {"__init__", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
8246 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8247  PyObject *__pyx_v_self = 0;
8248  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
8249  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
8250  int __pyx_lineno = 0;
8251  const char *__pyx_filename = NULL;
8252  int __pyx_clineno = 0;
8253  PyObject *__pyx_r = 0;
8254  __Pyx_RefNannyDeclarations
8255  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
8256  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
8257  __Pyx_GOTREF(__pyx_v_kwargs);
8258  if (PyTuple_GET_SIZE(__pyx_args) > 1) {
8259  __pyx_v_args = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args));
8260  if (unlikely(!__pyx_v_args)) {
8261  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
8262  __Pyx_RefNannyFinishContext();
8263  return NULL;
8264  }
8265  __Pyx_GOTREF(__pyx_v_args);
8266  } else {
8267  __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
8268  }
8269  {
8270  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0};
8271  PyObject* values[1] = {0};
8272  if (unlikely(__pyx_kwds)) {
8273  Py_ssize_t kw_args;
8274  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
8275  switch (pos_args) {
8276  default:
8277  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8278  case 0: break;
8279  }
8280  kw_args = PyDict_Size(__pyx_kwds);
8281  switch (pos_args) {
8282  case 0:
8283  if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
8284  else goto __pyx_L5_argtuple_error;
8285  }
8286  if (unlikely(kw_args > 0)) {
8287  const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
8288  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
8289  }
8290  } else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
8291  goto __pyx_L5_argtuple_error;
8292  } else {
8293  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
8294  }
8295  __pyx_v_self = values[0];
8296  }
8297  goto __pyx_L4_argument_unpacking_done;
8298  __pyx_L5_argtuple_error:;
8299  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
8300  __pyx_L3_error:;
8301  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
8302  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
8303  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8304  __Pyx_RefNannyFinishContext();
8305  return NULL;
8306  __pyx_L4_argument_unpacking_done:;
8307  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined___init__(__pyx_self, __pyx_v_self, __pyx_v_args, __pyx_v_kwargs);
8308 
8309  /* function exit code */
8310  __Pyx_XDECREF(__pyx_v_args);
8311  __Pyx_XDECREF(__pyx_v_kwargs);
8312  __Pyx_RefNannyFinishContext();
8313  return __pyx_r;
8314 }
8315 
8316 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
8317  PyObject *__pyx_r = NULL;
8318  __Pyx_RefNannyDeclarations
8319  PyObject *__pyx_t_1 = NULL;
8320  PyObject *__pyx_t_2 = NULL;
8321  int __pyx_lineno = 0;
8322  const char *__pyx_filename = NULL;
8323  int __pyx_clineno = 0;
8324  __Pyx_RefNannySetupContext("__init__", 0);
8325 
8326  /* "espressomd/interactions.pyx":452
8327  * def __init__(self, *args, **kwargs):
8328  * raise Exception(
8329  * self.__class_s__.__name__ + " not compiled into Espresso core") # <<<<<<<<<<<<<<
8330  *
8331  * def typeNumber(self):
8332  */
8333  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_class_s); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8334  __Pyx_GOTREF(__pyx_t_1);
8335  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8336  __Pyx_GOTREF(__pyx_t_2);
8337  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8338  __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_not_compiled_into_Espresso_core); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8339  __Pyx_GOTREF(__pyx_t_1);
8340  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8341 
8342  /* "espressomd/interactions.pyx":451
8343  *
8344  * def __init__(self, *args, **kwargs):
8345  * raise Exception( # <<<<<<<<<<<<<<
8346  * self.__class_s__.__name__ + " not compiled into Espresso core")
8347  *
8348  */
8349  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8350  __Pyx_GOTREF(__pyx_t_2);
8351  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
8352  __Pyx_GIVEREF(__pyx_t_1);
8353  __pyx_t_1 = 0;
8354  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8355  __Pyx_GOTREF(__pyx_t_1);
8356  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8357  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
8358  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8359  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8360 
8361  /* "espressomd/interactions.pyx":450
8362  * class BondedInteractionNotDefined(object):
8363  *
8364  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
8365  * raise Exception(
8366  * self.__class_s__.__name__ + " not compiled into Espresso core")
8367  */
8368 
8369  /* function exit code */
8370  __pyx_L1_error:;
8371  __Pyx_XDECREF(__pyx_t_1);
8372  __Pyx_XDECREF(__pyx_t_2);
8373  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8374  __pyx_r = NULL;
8375  __Pyx_XGIVEREF(__pyx_r);
8376  __Pyx_RefNannyFinishContext();
8377  return __pyx_r;
8378 }
8379 
8380 /* "espressomd/interactions.pyx":454
8381  * self.__class_s__.__name__ + " not compiled into Espresso core")
8382  *
8383  * def typeNumber(self): # <<<<<<<<<<<<<<
8384  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8385  *
8386  */
8387 
8388 /* Python wrapper */
8389 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_3typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8390 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_3typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_3typeNumber, METH_O, 0};
8391 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_3typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8392  PyObject *__pyx_r = 0;
8393  __Pyx_RefNannyDeclarations
8394  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
8395  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_2typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
8396 
8397  /* function exit code */
8398  __Pyx_RefNannyFinishContext();
8399  return __pyx_r;
8400 }
8401 
8402 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_2typeNumber(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8403  PyObject *__pyx_r = NULL;
8404  __Pyx_RefNannyDeclarations
8405  PyObject *__pyx_t_1 = NULL;
8406  PyObject *__pyx_t_2 = NULL;
8407  int __pyx_lineno = 0;
8408  const char *__pyx_filename = NULL;
8409  int __pyx_clineno = 0;
8410  __Pyx_RefNannySetupContext("typeNumber", 0);
8411 
8412  /* "espressomd/interactions.pyx":455
8413  *
8414  * def typeNumber(self):
8415  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8416  *
8417  * def typeName(self):
8418  */
8419  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8420  __Pyx_GOTREF(__pyx_t_1);
8421  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8422  __Pyx_GOTREF(__pyx_t_2);
8423  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8424  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8425  __Pyx_GOTREF(__pyx_t_1);
8426  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8427  __Pyx_GIVEREF(__pyx_t_2);
8428  __pyx_t_2 = 0;
8429  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8430  __Pyx_GOTREF(__pyx_t_2);
8431  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8432  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8433  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8434  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8435 
8436  /* "espressomd/interactions.pyx":454
8437  * self.__class_s__.__name__ + " not compiled into Espresso core")
8438  *
8439  * def typeNumber(self): # <<<<<<<<<<<<<<
8440  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8441  *
8442  */
8443 
8444  /* function exit code */
8445  __pyx_L1_error:;
8446  __Pyx_XDECREF(__pyx_t_1);
8447  __Pyx_XDECREF(__pyx_t_2);
8448  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.typeNumber", __pyx_clineno, __pyx_lineno, __pyx_filename);
8449  __pyx_r = NULL;
8450  __Pyx_XGIVEREF(__pyx_r);
8451  __Pyx_RefNannyFinishContext();
8452  return __pyx_r;
8453 }
8454 
8455 /* "espressomd/interactions.pyx":457
8456  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8457  *
8458  * def typeName(self): # <<<<<<<<<<<<<<
8459  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8460  *
8461  */
8462 
8463 /* Python wrapper */
8464 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_5typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8465 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_5typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_5typeName, METH_O, 0};
8466 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_5typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8467  PyObject *__pyx_r = 0;
8468  __Pyx_RefNannyDeclarations
8469  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
8470  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_4typeName(__pyx_self, ((PyObject *)__pyx_v_self));
8471 
8472  /* function exit code */
8473  __Pyx_RefNannyFinishContext();
8474  return __pyx_r;
8475 }
8476 
8477 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_4typeName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8478  PyObject *__pyx_r = NULL;
8479  __Pyx_RefNannyDeclarations
8480  PyObject *__pyx_t_1 = NULL;
8481  PyObject *__pyx_t_2 = NULL;
8482  int __pyx_lineno = 0;
8483  const char *__pyx_filename = NULL;
8484  int __pyx_clineno = 0;
8485  __Pyx_RefNannySetupContext("typeName", 0);
8486 
8487  /* "espressomd/interactions.pyx":458
8488  *
8489  * def typeName(self):
8490  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8491  *
8492  * def validKeys(self):
8493  */
8494  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8495  __Pyx_GOTREF(__pyx_t_1);
8496  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8497  __Pyx_GOTREF(__pyx_t_2);
8498  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8499  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8500  __Pyx_GOTREF(__pyx_t_1);
8501  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8502  __Pyx_GIVEREF(__pyx_t_2);
8503  __pyx_t_2 = 0;
8504  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8505  __Pyx_GOTREF(__pyx_t_2);
8506  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8507  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8508  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8509  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8510 
8511  /* "espressomd/interactions.pyx":457
8512  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8513  *
8514  * def typeName(self): # <<<<<<<<<<<<<<
8515  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8516  *
8517  */
8518 
8519  /* function exit code */
8520  __pyx_L1_error:;
8521  __Pyx_XDECREF(__pyx_t_1);
8522  __Pyx_XDECREF(__pyx_t_2);
8523  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.typeName", __pyx_clineno, __pyx_lineno, __pyx_filename);
8524  __pyx_r = NULL;
8525  __Pyx_XGIVEREF(__pyx_r);
8526  __Pyx_RefNannyFinishContext();
8527  return __pyx_r;
8528 }
8529 
8530 /* "espressomd/interactions.pyx":460
8531  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8532  *
8533  * def validKeys(self): # <<<<<<<<<<<<<<
8534  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8535  *
8536  */
8537 
8538 /* Python wrapper */
8539 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_7validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8540 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_7validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_7validKeys, METH_O, 0};
8541 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_7validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8542  PyObject *__pyx_r = 0;
8543  __Pyx_RefNannyDeclarations
8544  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
8545  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_6validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
8546 
8547  /* function exit code */
8548  __Pyx_RefNannyFinishContext();
8549  return __pyx_r;
8550 }
8551 
8552 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_6validKeys(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8553  PyObject *__pyx_r = NULL;
8554  __Pyx_RefNannyDeclarations
8555  PyObject *__pyx_t_1 = NULL;
8556  PyObject *__pyx_t_2 = NULL;
8557  int __pyx_lineno = 0;
8558  const char *__pyx_filename = NULL;
8559  int __pyx_clineno = 0;
8560  __Pyx_RefNannySetupContext("validKeys", 0);
8561 
8562  /* "espressomd/interactions.pyx":461
8563  *
8564  * def validKeys(self):
8565  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8566  *
8567  * def requiredKeys(self):
8568  */
8569  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8570  __Pyx_GOTREF(__pyx_t_1);
8571  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8572  __Pyx_GOTREF(__pyx_t_2);
8573  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8574  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8575  __Pyx_GOTREF(__pyx_t_1);
8576  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8577  __Pyx_GIVEREF(__pyx_t_2);
8578  __pyx_t_2 = 0;
8579  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8580  __Pyx_GOTREF(__pyx_t_2);
8581  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8582  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8583  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8584  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8585 
8586  /* "espressomd/interactions.pyx":460
8587  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8588  *
8589  * def validKeys(self): # <<<<<<<<<<<<<<
8590  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8591  *
8592  */
8593 
8594  /* function exit code */
8595  __pyx_L1_error:;
8596  __Pyx_XDECREF(__pyx_t_1);
8597  __Pyx_XDECREF(__pyx_t_2);
8598  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.validKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
8599  __pyx_r = NULL;
8600  __Pyx_XGIVEREF(__pyx_r);
8601  __Pyx_RefNannyFinishContext();
8602  return __pyx_r;
8603 }
8604 
8605 /* "espressomd/interactions.pyx":463
8606  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8607  *
8608  * def requiredKeys(self): # <<<<<<<<<<<<<<
8609  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8610  *
8611  */
8612 
8613 /* Python wrapper */
8614 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_9requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8615 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_9requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_9requiredKeys, METH_O, 0};
8616 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_9requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8617  PyObject *__pyx_r = 0;
8618  __Pyx_RefNannyDeclarations
8619  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
8620  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_8requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
8621 
8622  /* function exit code */
8623  __Pyx_RefNannyFinishContext();
8624  return __pyx_r;
8625 }
8626 
8627 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_8requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8628  PyObject *__pyx_r = NULL;
8629  __Pyx_RefNannyDeclarations
8630  PyObject *__pyx_t_1 = NULL;
8631  PyObject *__pyx_t_2 = NULL;
8632  int __pyx_lineno = 0;
8633  const char *__pyx_filename = NULL;
8634  int __pyx_clineno = 0;
8635  __Pyx_RefNannySetupContext("requiredKeys", 0);
8636 
8637  /* "espressomd/interactions.pyx":464
8638  *
8639  * def requiredKeys(self):
8640  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8641  *
8642  * def setDefaultParams(self):
8643  */
8644  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8645  __Pyx_GOTREF(__pyx_t_1);
8646  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8647  __Pyx_GOTREF(__pyx_t_2);
8648  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8649  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8650  __Pyx_GOTREF(__pyx_t_1);
8651  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8652  __Pyx_GIVEREF(__pyx_t_2);
8653  __pyx_t_2 = 0;
8654  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8655  __Pyx_GOTREF(__pyx_t_2);
8656  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8657  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8658  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8659  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8660 
8661  /* "espressomd/interactions.pyx":463
8662  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8663  *
8664  * def requiredKeys(self): # <<<<<<<<<<<<<<
8665  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8666  *
8667  */
8668 
8669  /* function exit code */
8670  __pyx_L1_error:;
8671  __Pyx_XDECREF(__pyx_t_1);
8672  __Pyx_XDECREF(__pyx_t_2);
8673  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.requiredKeys", __pyx_clineno, __pyx_lineno, __pyx_filename);
8674  __pyx_r = NULL;
8675  __Pyx_XGIVEREF(__pyx_r);
8676  __Pyx_RefNannyFinishContext();
8677  return __pyx_r;
8678 }
8679 
8680 /* "espressomd/interactions.pyx":466
8681  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8682  *
8683  * def setDefaultParams(self): # <<<<<<<<<<<<<<
8684  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8685  *
8686  */
8687 
8688 /* Python wrapper */
8689 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_11setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8690 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_11setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_11setDefaultParams, METH_O, 0};
8691 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_11setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8692  PyObject *__pyx_r = 0;
8693  __Pyx_RefNannyDeclarations
8694  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
8695  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_10setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
8696 
8697  /* function exit code */
8698  __Pyx_RefNannyFinishContext();
8699  return __pyx_r;
8700 }
8701 
8702 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_10setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8703  PyObject *__pyx_r = NULL;
8704  __Pyx_RefNannyDeclarations
8705  PyObject *__pyx_t_1 = NULL;
8706  PyObject *__pyx_t_2 = NULL;
8707  int __pyx_lineno = 0;
8708  const char *__pyx_filename = NULL;
8709  int __pyx_clineno = 0;
8710  __Pyx_RefNannySetupContext("setDefaultParams", 0);
8711 
8712  /* "espressomd/interactions.pyx":467
8713  *
8714  * def setDefaultParams(self):
8715  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8716  *
8717  * def _getParamsFromEsCore(self):
8718  */
8719  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8720  __Pyx_GOTREF(__pyx_t_1);
8721  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8722  __Pyx_GOTREF(__pyx_t_2);
8723  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8724  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8725  __Pyx_GOTREF(__pyx_t_1);
8726  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8727  __Pyx_GIVEREF(__pyx_t_2);
8728  __pyx_t_2 = 0;
8729  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8730  __Pyx_GOTREF(__pyx_t_2);
8731  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8732  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8733  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8734  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8735 
8736  /* "espressomd/interactions.pyx":466
8737  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8738  *
8739  * def setDefaultParams(self): # <<<<<<<<<<<<<<
8740  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8741  *
8742  */
8743 
8744  /* function exit code */
8745  __pyx_L1_error:;
8746  __Pyx_XDECREF(__pyx_t_1);
8747  __Pyx_XDECREF(__pyx_t_2);
8748  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
8749  __pyx_r = NULL;
8750  __Pyx_XGIVEREF(__pyx_r);
8751  __Pyx_RefNannyFinishContext();
8752  return __pyx_r;
8753 }
8754 
8755 /* "espressomd/interactions.pyx":469
8756  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8757  *
8758  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
8759  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8760  *
8761  */
8762 
8763 /* Python wrapper */
8764 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_13_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8765 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_13_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_13_getParamsFromEsCore, METH_O, 0};
8766 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_13_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8767  PyObject *__pyx_r = 0;
8768  __Pyx_RefNannyDeclarations
8769  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
8770  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_12_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
8771 
8772  /* function exit code */
8773  __Pyx_RefNannyFinishContext();
8774  return __pyx_r;
8775 }
8776 
8777 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_12_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8778  PyObject *__pyx_r = NULL;
8779  __Pyx_RefNannyDeclarations
8780  PyObject *__pyx_t_1 = NULL;
8781  PyObject *__pyx_t_2 = NULL;
8782  int __pyx_lineno = 0;
8783  const char *__pyx_filename = NULL;
8784  int __pyx_clineno = 0;
8785  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
8786 
8787  /* "espressomd/interactions.pyx":470
8788  *
8789  * def _getParamsFromEsCore(self):
8790  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8791  *
8792  * def _setParamsInEsCore(self):
8793  */
8794  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8795  __Pyx_GOTREF(__pyx_t_1);
8796  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8797  __Pyx_GOTREF(__pyx_t_2);
8798  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8799  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8800  __Pyx_GOTREF(__pyx_t_1);
8801  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8802  __Pyx_GIVEREF(__pyx_t_2);
8803  __pyx_t_2 = 0;
8804  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8805  __Pyx_GOTREF(__pyx_t_2);
8806  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8807  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8808  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8809  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8810 
8811  /* "espressomd/interactions.pyx":469
8812  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8813  *
8814  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
8815  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8816  *
8817  */
8818 
8819  /* function exit code */
8820  __pyx_L1_error:;
8821  __Pyx_XDECREF(__pyx_t_1);
8822  __Pyx_XDECREF(__pyx_t_2);
8823  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
8824  __pyx_r = NULL;
8825  __Pyx_XGIVEREF(__pyx_r);
8826  __Pyx_RefNannyFinishContext();
8827  return __pyx_r;
8828 }
8829 
8830 /* "espressomd/interactions.pyx":472
8831  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8832  *
8833  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
8834  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8835  *
8836  */
8837 
8838 /* Python wrapper */
8839 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_15_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8840 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_15_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_15_setParamsInEsCore, METH_O, 0};
8841 static PyObject *__pyx_pw_10espressomd_12interactions_27BondedInteractionNotDefined_15_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8842  PyObject *__pyx_r = 0;
8843  __Pyx_RefNannyDeclarations
8844  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
8845  __pyx_r = __pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_14_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
8846 
8847  /* function exit code */
8848  __Pyx_RefNannyFinishContext();
8849  return __pyx_r;
8850 }
8851 
8852 static PyObject *__pyx_pf_10espressomd_12interactions_27BondedInteractionNotDefined_14_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
8853  PyObject *__pyx_r = NULL;
8854  __Pyx_RefNannyDeclarations
8855  PyObject *__pyx_t_1 = NULL;
8856  PyObject *__pyx_t_2 = NULL;
8857  int __pyx_lineno = 0;
8858  const char *__pyx_filename = NULL;
8859  int __pyx_clineno = 0;
8860  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
8861 
8862  /* "espressomd/interactions.pyx":473
8863  *
8864  * def _setParamsInEsCore(self):
8865  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name) # <<<<<<<<<<<<<<
8866  *
8867  *
8868  */
8869  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8870  __Pyx_GOTREF(__pyx_t_1);
8871  __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8872  __Pyx_GOTREF(__pyx_t_2);
8873  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8874  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8875  __Pyx_GOTREF(__pyx_t_1);
8876  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
8877  __Pyx_GIVEREF(__pyx_t_2);
8878  __pyx_t_2 = 0;
8879  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_Exception, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8880  __Pyx_GOTREF(__pyx_t_2);
8881  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8882  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
8883  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8884  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8885 
8886  /* "espressomd/interactions.pyx":472
8887  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8888  *
8889  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
8890  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
8891  *
8892  */
8893 
8894  /* function exit code */
8895  __pyx_L1_error:;
8896  __Pyx_XDECREF(__pyx_t_1);
8897  __Pyx_XDECREF(__pyx_t_2);
8898  __Pyx_AddTraceback("espressomd.interactions.BondedInteractionNotDefined._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
8899  __pyx_r = NULL;
8900  __Pyx_XGIVEREF(__pyx_r);
8901  __Pyx_RefNannyFinishContext();
8902  return __pyx_r;
8903 }
8904 
8905 /* "espressomd/interactions.pyx":478
8906  * class FeneBond(BondedInteraction):
8907  *
8908  * def typeNumber(self): # <<<<<<<<<<<<<<
8909  * return 0
8910  *
8911  */
8912 
8913 /* Python wrapper */
8914 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8915 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_1typeNumber, METH_O, 0};
8916 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8917  PyObject *__pyx_r = 0;
8918  __Pyx_RefNannyDeclarations
8919  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
8920  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
8921 
8922  /* function exit code */
8923  __Pyx_RefNannyFinishContext();
8924  return __pyx_r;
8925 }
8926 
8927 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
8928  PyObject *__pyx_r = NULL;
8929  __Pyx_RefNannyDeclarations
8930  __Pyx_RefNannySetupContext("typeNumber", 0);
8931 
8932  /* "espressomd/interactions.pyx":479
8933  *
8934  * def typeNumber(self):
8935  * return 0 # <<<<<<<<<<<<<<
8936  *
8937  * def typeName(self):
8938  */
8939  __Pyx_XDECREF(__pyx_r);
8940  __Pyx_INCREF(__pyx_int_0);
8941  __pyx_r = __pyx_int_0;
8942  goto __pyx_L0;
8943 
8944  /* "espressomd/interactions.pyx":478
8945  * class FeneBond(BondedInteraction):
8946  *
8947  * def typeNumber(self): # <<<<<<<<<<<<<<
8948  * return 0
8949  *
8950  */
8951 
8952  /* function exit code */
8953  __pyx_L0:;
8954  __Pyx_XGIVEREF(__pyx_r);
8955  __Pyx_RefNannyFinishContext();
8956  return __pyx_r;
8957 }
8958 
8959 /* "espressomd/interactions.pyx":481
8960  * return 0
8961  *
8962  * def typeName(self): # <<<<<<<<<<<<<<
8963  * return "FENE"
8964  *
8965  */
8966 
8967 /* Python wrapper */
8968 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
8969 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_3typeName, METH_O, 0};
8970 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
8971  PyObject *__pyx_r = 0;
8972  __Pyx_RefNannyDeclarations
8973  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
8974  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
8975 
8976  /* function exit code */
8977  __Pyx_RefNannyFinishContext();
8978  return __pyx_r;
8979 }
8980 
8981 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
8982  PyObject *__pyx_r = NULL;
8983  __Pyx_RefNannyDeclarations
8984  __Pyx_RefNannySetupContext("typeName", 0);
8985 
8986  /* "espressomd/interactions.pyx":482
8987  *
8988  * def typeName(self):
8989  * return "FENE" # <<<<<<<<<<<<<<
8990  *
8991  * def validKeys(self):
8992  */
8993  __Pyx_XDECREF(__pyx_r);
8994  __Pyx_INCREF(__pyx_n_s_FENE);
8995  __pyx_r = __pyx_n_s_FENE;
8996  goto __pyx_L0;
8997 
8998  /* "espressomd/interactions.pyx":481
8999  * return 0
9000  *
9001  * def typeName(self): # <<<<<<<<<<<<<<
9002  * return "FENE"
9003  *
9004  */
9005 
9006  /* function exit code */
9007  __pyx_L0:;
9008  __Pyx_XGIVEREF(__pyx_r);
9009  __Pyx_RefNannyFinishContext();
9010  return __pyx_r;
9011 }
9012 
9013 /* "espressomd/interactions.pyx":484
9014  * return "FENE"
9015  *
9016  * def validKeys(self): # <<<<<<<<<<<<<<
9017  * return "k", "d_r_max", "r_0"
9018  *
9019  */
9020 
9021 /* Python wrapper */
9022 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9023 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_5validKeys, METH_O, 0};
9024 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9025  PyObject *__pyx_r = 0;
9026  __Pyx_RefNannyDeclarations
9027  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
9028  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
9029 
9030  /* function exit code */
9031  __Pyx_RefNannyFinishContext();
9032  return __pyx_r;
9033 }
9034 
9035 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9036  PyObject *__pyx_r = NULL;
9037  __Pyx_RefNannyDeclarations
9038  __Pyx_RefNannySetupContext("validKeys", 0);
9039 
9040  /* "espressomd/interactions.pyx":485
9041  *
9042  * def validKeys(self):
9043  * return "k", "d_r_max", "r_0" # <<<<<<<<<<<<<<
9044  *
9045  * def requiredKeys(self):
9046  */
9047  __Pyx_XDECREF(__pyx_r);
9048  __Pyx_INCREF(__pyx_tuple__33);
9049  __pyx_r = __pyx_tuple__33;
9050  goto __pyx_L0;
9051 
9052  /* "espressomd/interactions.pyx":484
9053  * return "FENE"
9054  *
9055  * def validKeys(self): # <<<<<<<<<<<<<<
9056  * return "k", "d_r_max", "r_0"
9057  *
9058  */
9059 
9060  /* function exit code */
9061  __pyx_L0:;
9062  __Pyx_XGIVEREF(__pyx_r);
9063  __Pyx_RefNannyFinishContext();
9064  return __pyx_r;
9065 }
9066 
9067 /* "espressomd/interactions.pyx":487
9068  * return "k", "d_r_max", "r_0"
9069  *
9070  * def requiredKeys(self): # <<<<<<<<<<<<<<
9071  * return "k", "d_r_max"
9072  *
9073  */
9074 
9075 /* Python wrapper */
9076 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9077 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_7requiredKeys, METH_O, 0};
9078 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9079  PyObject *__pyx_r = 0;
9080  __Pyx_RefNannyDeclarations
9081  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
9082  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
9083 
9084  /* function exit code */
9085  __Pyx_RefNannyFinishContext();
9086  return __pyx_r;
9087 }
9088 
9089 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9090  PyObject *__pyx_r = NULL;
9091  __Pyx_RefNannyDeclarations
9092  __Pyx_RefNannySetupContext("requiredKeys", 0);
9093 
9094  /* "espressomd/interactions.pyx":488
9095  *
9096  * def requiredKeys(self):
9097  * return "k", "d_r_max" # <<<<<<<<<<<<<<
9098  *
9099  * def setDefaultParams(self):
9100  */
9101  __Pyx_XDECREF(__pyx_r);
9102  __Pyx_INCREF(__pyx_tuple__34);
9103  __pyx_r = __pyx_tuple__34;
9104  goto __pyx_L0;
9105 
9106  /* "espressomd/interactions.pyx":487
9107  * return "k", "d_r_max", "r_0"
9108  *
9109  * def requiredKeys(self): # <<<<<<<<<<<<<<
9110  * return "k", "d_r_max"
9111  *
9112  */
9113 
9114  /* function exit code */
9115  __pyx_L0:;
9116  __Pyx_XGIVEREF(__pyx_r);
9117  __Pyx_RefNannyFinishContext();
9118  return __pyx_r;
9119 }
9120 
9121 /* "espressomd/interactions.pyx":490
9122  * return "k", "d_r_max"
9123  *
9124  * def setDefaultParams(self): # <<<<<<<<<<<<<<
9125  * self._params = {"r_0": 0.}
9126  * # Everything else has to be supplied by the user, anyway
9127  */
9128 
9129 /* Python wrapper */
9130 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9131 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_9setDefaultParams, METH_O, 0};
9132 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9133  PyObject *__pyx_r = 0;
9134  __Pyx_RefNannyDeclarations
9135  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
9136  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
9137 
9138  /* function exit code */
9139  __Pyx_RefNannyFinishContext();
9140  return __pyx_r;
9141 }
9142 
9143 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9144  PyObject *__pyx_r = NULL;
9145  __Pyx_RefNannyDeclarations
9146  PyObject *__pyx_t_1 = NULL;
9147  int __pyx_lineno = 0;
9148  const char *__pyx_filename = NULL;
9149  int __pyx_clineno = 0;
9150  __Pyx_RefNannySetupContext("setDefaultParams", 0);
9151 
9152  /* "espressomd/interactions.pyx":491
9153  *
9154  * def setDefaultParams(self):
9155  * self._params = {"r_0": 0.} # <<<<<<<<<<<<<<
9156  * # Everything else has to be supplied by the user, anyway
9157  *
9158  */
9159  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9160  __Pyx_GOTREF(__pyx_t_1);
9161  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_0, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9162  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9163  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9164 
9165  /* "espressomd/interactions.pyx":490
9166  * return "k", "d_r_max"
9167  *
9168  * def setDefaultParams(self): # <<<<<<<<<<<<<<
9169  * self._params = {"r_0": 0.}
9170  * # Everything else has to be supplied by the user, anyway
9171  */
9172 
9173  /* function exit code */
9174  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9175  goto __pyx_L0;
9176  __pyx_L1_error:;
9177  __Pyx_XDECREF(__pyx_t_1);
9178  __Pyx_AddTraceback("espressomd.interactions.FeneBond.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
9179  __pyx_r = NULL;
9180  __pyx_L0:;
9181  __Pyx_XGIVEREF(__pyx_r);
9182  __Pyx_RefNannyFinishContext();
9183  return __pyx_r;
9184 }
9185 
9186 /* "espressomd/interactions.pyx":494
9187  * # Everything else has to be supplied by the user, anyway
9188  *
9189  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
9190  * return \
9191  * {"k": bonded_ia_params[self._bondId].p.fene.k,
9192  */
9193 
9194 /* Python wrapper */
9195 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9196 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_11_getParamsFromEsCore, METH_O, 0};
9197 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9198  PyObject *__pyx_r = 0;
9199  __Pyx_RefNannyDeclarations
9200  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
9201  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
9202 
9203  /* function exit code */
9204  __Pyx_RefNannyFinishContext();
9205  return __pyx_r;
9206 }
9207 
9208 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9209  PyObject *__pyx_r = NULL;
9210  __Pyx_RefNannyDeclarations
9211  PyObject *__pyx_t_1 = NULL;
9212  PyObject *__pyx_t_2 = NULL;
9213  Py_ssize_t __pyx_t_3;
9214  int __pyx_lineno = 0;
9215  const char *__pyx_filename = NULL;
9216  int __pyx_clineno = 0;
9217  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
9218 
9219  /* "espressomd/interactions.pyx":495
9220  *
9221  * def _getParamsFromEsCore(self):
9222  * return \ # <<<<<<<<<<<<<<
9223  * {"k": bonded_ia_params[self._bondId].p.fene.k,
9224  * "d_r_max": bonded_ia_params[self._bondId].p.fene.drmax,
9225  */
9226  __Pyx_XDECREF(__pyx_r);
9227 
9228  /* "espressomd/interactions.pyx":496
9229  * def _getParamsFromEsCore(self):
9230  * return \
9231  * {"k": bonded_ia_params[self._bondId].p.fene.k, # <<<<<<<<<<<<<<
9232  * "d_r_max": bonded_ia_params[self._bondId].p.fene.drmax,
9233  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
9234  */
9235  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9236  __Pyx_GOTREF(__pyx_t_1);
9237  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9238  __Pyx_GOTREF(__pyx_t_2);
9239  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9240  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9241  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.fene.k); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9242  __Pyx_GOTREF(__pyx_t_2);
9243  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9244  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9245 
9246  /* "espressomd/interactions.pyx":497
9247  * return \
9248  * {"k": bonded_ia_params[self._bondId].p.fene.k,
9249  * "d_r_max": bonded_ia_params[self._bondId].p.fene.drmax, # <<<<<<<<<<<<<<
9250  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
9251  *
9252  */
9253  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9254  __Pyx_GOTREF(__pyx_t_2);
9255  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9256  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9257  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.fene.drmax); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9258  __Pyx_GOTREF(__pyx_t_2);
9259  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_d_r_max, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9260  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9261 
9262  /* "espressomd/interactions.pyx":498
9263  * {"k": bonded_ia_params[self._bondId].p.fene.k,
9264  * "d_r_max": bonded_ia_params[self._bondId].p.fene.drmax,
9265  * "r_0": bonded_ia_params[self._bondId].p.fene.r0} # <<<<<<<<<<<<<<
9266  *
9267  * def _setParamsInEsCore(self):
9268  */
9269  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9270  __Pyx_GOTREF(__pyx_t_2);
9271  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9272  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9273  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.fene.r0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9274  __Pyx_GOTREF(__pyx_t_2);
9275  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9276  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9277  __pyx_r = __pyx_t_1;
9278  __pyx_t_1 = 0;
9279  goto __pyx_L0;
9280 
9281  /* "espressomd/interactions.pyx":494
9282  * # Everything else has to be supplied by the user, anyway
9283  *
9284  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
9285  * return \
9286  * {"k": bonded_ia_params[self._bondId].p.fene.k,
9287  */
9288 
9289  /* function exit code */
9290  __pyx_L1_error:;
9291  __Pyx_XDECREF(__pyx_t_1);
9292  __Pyx_XDECREF(__pyx_t_2);
9293  __Pyx_AddTraceback("espressomd.interactions.FeneBond._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
9294  __pyx_r = NULL;
9295  __pyx_L0:;
9296  __Pyx_XGIVEREF(__pyx_r);
9297  __Pyx_RefNannyFinishContext();
9298  return __pyx_r;
9299 }
9300 
9301 /* "espressomd/interactions.pyx":500
9302  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
9303  *
9304  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
9305  * fene_set_params(
9306  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"])
9307  */
9308 
9309 /* Python wrapper */
9310 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9311 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8FeneBond_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_8FeneBond_13_setParamsInEsCore, METH_O, 0};
9312 static PyObject *__pyx_pw_10espressomd_12interactions_8FeneBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9313  PyObject *__pyx_r = 0;
9314  __Pyx_RefNannyDeclarations
9315  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
9316  __pyx_r = __pyx_pf_10espressomd_12interactions_8FeneBond_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
9317 
9318  /* function exit code */
9319  __Pyx_RefNannyFinishContext();
9320  return __pyx_r;
9321 }
9322 
9323 static PyObject *__pyx_pf_10espressomd_12interactions_8FeneBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9324  PyObject *__pyx_r = NULL;
9325  __Pyx_RefNannyDeclarations
9326  PyObject *__pyx_t_1 = NULL;
9327  int __pyx_t_2;
9328  PyObject *__pyx_t_3 = NULL;
9329  double __pyx_t_4;
9330  double __pyx_t_5;
9331  double __pyx_t_6;
9332  int __pyx_lineno = 0;
9333  const char *__pyx_filename = NULL;
9334  int __pyx_clineno = 0;
9335  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
9336 
9337  /* "espressomd/interactions.pyx":502
9338  * def _setParamsInEsCore(self):
9339  * fene_set_params(
9340  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"]) # <<<<<<<<<<<<<<
9341  *
9342  *
9343  */
9344  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9345  __Pyx_GOTREF(__pyx_t_1);
9346  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9347  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9348  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9349  __Pyx_GOTREF(__pyx_t_1);
9350  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_k); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9351  __Pyx_GOTREF(__pyx_t_3);
9352  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9353  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9354  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9355  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9356  __Pyx_GOTREF(__pyx_t_3);
9357  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_d_r_max); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9358  __Pyx_GOTREF(__pyx_t_1);
9359  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9360  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9361  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9362  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9363  __Pyx_GOTREF(__pyx_t_1);
9364  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_r_0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9365  __Pyx_GOTREF(__pyx_t_3);
9366  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9367  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9368  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9369 
9370  /* "espressomd/interactions.pyx":501
9371  *
9372  * def _setParamsInEsCore(self):
9373  * fene_set_params( # <<<<<<<<<<<<<<
9374  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"])
9375  *
9376  */
9377  fene_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_t_6);
9378 
9379  /* "espressomd/interactions.pyx":500
9380  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
9381  *
9382  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
9383  * fene_set_params(
9384  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"])
9385  */
9386 
9387  /* function exit code */
9388  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9389  goto __pyx_L0;
9390  __pyx_L1_error:;
9391  __Pyx_XDECREF(__pyx_t_1);
9392  __Pyx_XDECREF(__pyx_t_3);
9393  __Pyx_AddTraceback("espressomd.interactions.FeneBond._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
9394  __pyx_r = NULL;
9395  __pyx_L0:;
9396  __Pyx_XGIVEREF(__pyx_r);
9397  __Pyx_RefNannyFinishContext();
9398  return __pyx_r;
9399 }
9400 
9401 /* "espressomd/interactions.pyx":507
9402  * class HarmonicBond(BondedInteraction):
9403  *
9404  * def typeNumber(self): # <<<<<<<<<<<<<<
9405  * return 1
9406  *
9407  */
9408 
9409 /* Python wrapper */
9410 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9411 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_1typeNumber, METH_O, 0};
9412 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9413  PyObject *__pyx_r = 0;
9414  __Pyx_RefNannyDeclarations
9415  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
9416  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
9417 
9418  /* function exit code */
9419  __Pyx_RefNannyFinishContext();
9420  return __pyx_r;
9421 }
9422 
9423 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9424  PyObject *__pyx_r = NULL;
9425  __Pyx_RefNannyDeclarations
9426  __Pyx_RefNannySetupContext("typeNumber", 0);
9427 
9428  /* "espressomd/interactions.pyx":508
9429  *
9430  * def typeNumber(self):
9431  * return 1 # <<<<<<<<<<<<<<
9432  *
9433  * def typeName(self):
9434  */
9435  __Pyx_XDECREF(__pyx_r);
9436  __Pyx_INCREF(__pyx_int_1);
9437  __pyx_r = __pyx_int_1;
9438  goto __pyx_L0;
9439 
9440  /* "espressomd/interactions.pyx":507
9441  * class HarmonicBond(BondedInteraction):
9442  *
9443  * def typeNumber(self): # <<<<<<<<<<<<<<
9444  * return 1
9445  *
9446  */
9447 
9448  /* function exit code */
9449  __pyx_L0:;
9450  __Pyx_XGIVEREF(__pyx_r);
9451  __Pyx_RefNannyFinishContext();
9452  return __pyx_r;
9453 }
9454 
9455 /* "espressomd/interactions.pyx":510
9456  * return 1
9457  *
9458  * def typeName(self): # <<<<<<<<<<<<<<
9459  * return "HARMONIC"
9460  *
9461  */
9462 
9463 /* Python wrapper */
9464 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9465 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_3typeName, METH_O, 0};
9466 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9467  PyObject *__pyx_r = 0;
9468  __Pyx_RefNannyDeclarations
9469  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
9470  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
9471 
9472  /* function exit code */
9473  __Pyx_RefNannyFinishContext();
9474  return __pyx_r;
9475 }
9476 
9477 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9478  PyObject *__pyx_r = NULL;
9479  __Pyx_RefNannyDeclarations
9480  __Pyx_RefNannySetupContext("typeName", 0);
9481 
9482  /* "espressomd/interactions.pyx":511
9483  *
9484  * def typeName(self):
9485  * return "HARMONIC" # <<<<<<<<<<<<<<
9486  *
9487  * def validKeys(self):
9488  */
9489  __Pyx_XDECREF(__pyx_r);
9490  __Pyx_INCREF(__pyx_n_s_HARMONIC);
9491  __pyx_r = __pyx_n_s_HARMONIC;
9492  goto __pyx_L0;
9493 
9494  /* "espressomd/interactions.pyx":510
9495  * return 1
9496  *
9497  * def typeName(self): # <<<<<<<<<<<<<<
9498  * return "HARMONIC"
9499  *
9500  */
9501 
9502  /* function exit code */
9503  __pyx_L0:;
9504  __Pyx_XGIVEREF(__pyx_r);
9505  __Pyx_RefNannyFinishContext();
9506  return __pyx_r;
9507 }
9508 
9509 /* "espressomd/interactions.pyx":513
9510  * return "HARMONIC"
9511  *
9512  * def validKeys(self): # <<<<<<<<<<<<<<
9513  * return "k", "r_0", "r_cut"
9514  *
9515  */
9516 
9517 /* Python wrapper */
9518 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9519 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_5validKeys, METH_O, 0};
9520 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9521  PyObject *__pyx_r = 0;
9522  __Pyx_RefNannyDeclarations
9523  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
9524  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
9525 
9526  /* function exit code */
9527  __Pyx_RefNannyFinishContext();
9528  return __pyx_r;
9529 }
9530 
9531 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9532  PyObject *__pyx_r = NULL;
9533  __Pyx_RefNannyDeclarations
9534  __Pyx_RefNannySetupContext("validKeys", 0);
9535 
9536  /* "espressomd/interactions.pyx":514
9537  *
9538  * def validKeys(self):
9539  * return "k", "r_0", "r_cut" # <<<<<<<<<<<<<<
9540  *
9541  * def requiredKeys(self):
9542  */
9543  __Pyx_XDECREF(__pyx_r);
9544  __Pyx_INCREF(__pyx_tuple__35);
9545  __pyx_r = __pyx_tuple__35;
9546  goto __pyx_L0;
9547 
9548  /* "espressomd/interactions.pyx":513
9549  * return "HARMONIC"
9550  *
9551  * def validKeys(self): # <<<<<<<<<<<<<<
9552  * return "k", "r_0", "r_cut"
9553  *
9554  */
9555 
9556  /* function exit code */
9557  __pyx_L0:;
9558  __Pyx_XGIVEREF(__pyx_r);
9559  __Pyx_RefNannyFinishContext();
9560  return __pyx_r;
9561 }
9562 
9563 /* "espressomd/interactions.pyx":516
9564  * return "k", "r_0", "r_cut"
9565  *
9566  * def requiredKeys(self): # <<<<<<<<<<<<<<
9567  * return "k", "r_0"
9568  *
9569  */
9570 
9571 /* Python wrapper */
9572 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9573 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_7requiredKeys, METH_O, 0};
9574 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9575  PyObject *__pyx_r = 0;
9576  __Pyx_RefNannyDeclarations
9577  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
9578  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
9579 
9580  /* function exit code */
9581  __Pyx_RefNannyFinishContext();
9582  return __pyx_r;
9583 }
9584 
9585 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9586  PyObject *__pyx_r = NULL;
9587  __Pyx_RefNannyDeclarations
9588  __Pyx_RefNannySetupContext("requiredKeys", 0);
9589 
9590  /* "espressomd/interactions.pyx":517
9591  *
9592  * def requiredKeys(self):
9593  * return "k", "r_0" # <<<<<<<<<<<<<<
9594  *
9595  * def setDefaultParams(self):
9596  */
9597  __Pyx_XDECREF(__pyx_r);
9598  __Pyx_INCREF(__pyx_tuple__36);
9599  __pyx_r = __pyx_tuple__36;
9600  goto __pyx_L0;
9601 
9602  /* "espressomd/interactions.pyx":516
9603  * return "k", "r_0", "r_cut"
9604  *
9605  * def requiredKeys(self): # <<<<<<<<<<<<<<
9606  * return "k", "r_0"
9607  *
9608  */
9609 
9610  /* function exit code */
9611  __pyx_L0:;
9612  __Pyx_XGIVEREF(__pyx_r);
9613  __Pyx_RefNannyFinishContext();
9614  return __pyx_r;
9615 }
9616 
9617 /* "espressomd/interactions.pyx":519
9618  * return "k", "r_0"
9619  *
9620  * def setDefaultParams(self): # <<<<<<<<<<<<<<
9621  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
9622  *
9623  */
9624 
9625 /* Python wrapper */
9626 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9627 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_9setDefaultParams, METH_O, 0};
9628 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9629  PyObject *__pyx_r = 0;
9630  __Pyx_RefNannyDeclarations
9631  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
9632  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
9633 
9634  /* function exit code */
9635  __Pyx_RefNannyFinishContext();
9636  return __pyx_r;
9637 }
9638 
9639 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9640  PyObject *__pyx_r = NULL;
9641  __Pyx_RefNannyDeclarations
9642  PyObject *__pyx_t_1 = NULL;
9643  int __pyx_lineno = 0;
9644  const char *__pyx_filename = NULL;
9645  int __pyx_clineno = 0;
9646  __Pyx_RefNannySetupContext("setDefaultParams", 0);
9647 
9648  /* "espressomd/interactions.pyx":520
9649  *
9650  * def setDefaultParams(self):
9651  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.} # <<<<<<<<<<<<<<
9652  *
9653  * def _getParamsFromEsCore(self):
9654  */
9655  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9656  __Pyx_GOTREF(__pyx_t_1);
9657  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_k_2, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9658  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_0, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9659  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_cut, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9660  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 520; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9661  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9662 
9663  /* "espressomd/interactions.pyx":519
9664  * return "k", "r_0"
9665  *
9666  * def setDefaultParams(self): # <<<<<<<<<<<<<<
9667  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
9668  *
9669  */
9670 
9671  /* function exit code */
9672  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9673  goto __pyx_L0;
9674  __pyx_L1_error:;
9675  __Pyx_XDECREF(__pyx_t_1);
9676  __Pyx_AddTraceback("espressomd.interactions.HarmonicBond.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
9677  __pyx_r = NULL;
9678  __pyx_L0:;
9679  __Pyx_XGIVEREF(__pyx_r);
9680  __Pyx_RefNannyFinishContext();
9681  return __pyx_r;
9682 }
9683 
9684 /* "espressomd/interactions.pyx":522
9685  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
9686  *
9687  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
9688  * return \
9689  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
9690  */
9691 
9692 /* Python wrapper */
9693 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9694 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_11_getParamsFromEsCore, METH_O, 0};
9695 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9696  PyObject *__pyx_r = 0;
9697  __Pyx_RefNannyDeclarations
9698  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
9699  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
9700 
9701  /* function exit code */
9702  __Pyx_RefNannyFinishContext();
9703  return __pyx_r;
9704 }
9705 
9706 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9707  PyObject *__pyx_r = NULL;
9708  __Pyx_RefNannyDeclarations
9709  PyObject *__pyx_t_1 = NULL;
9710  PyObject *__pyx_t_2 = NULL;
9711  Py_ssize_t __pyx_t_3;
9712  int __pyx_lineno = 0;
9713  const char *__pyx_filename = NULL;
9714  int __pyx_clineno = 0;
9715  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
9716 
9717  /* "espressomd/interactions.pyx":523
9718  *
9719  * def _getParamsFromEsCore(self):
9720  * return \ # <<<<<<<<<<<<<<
9721  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
9722  * "r_0": bonded_ia_params[self._bondId].p.harmonic.r,
9723  */
9724  __Pyx_XDECREF(__pyx_r);
9725 
9726  /* "espressomd/interactions.pyx":524
9727  * def _getParamsFromEsCore(self):
9728  * return \
9729  * {"k": bonded_ia_params[self._bondId].p.harmonic.k, # <<<<<<<<<<<<<<
9730  * "r_0": bonded_ia_params[self._bondId].p.harmonic.r,
9731  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
9732  */
9733  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9734  __Pyx_GOTREF(__pyx_t_1);
9735  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9736  __Pyx_GOTREF(__pyx_t_2);
9737  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9738  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9739  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic.k); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9740  __Pyx_GOTREF(__pyx_t_2);
9741  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9742  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9743 
9744  /* "espressomd/interactions.pyx":525
9745  * return \
9746  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
9747  * "r_0": bonded_ia_params[self._bondId].p.harmonic.r, # <<<<<<<<<<<<<<
9748  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
9749  *
9750  */
9751  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9752  __Pyx_GOTREF(__pyx_t_2);
9753  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9754  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9755  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic.r); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9756  __Pyx_GOTREF(__pyx_t_2);
9757  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9758  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9759 
9760  /* "espressomd/interactions.pyx":526
9761  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
9762  * "r_0": bonded_ia_params[self._bondId].p.harmonic.r,
9763  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut} # <<<<<<<<<<<<<<
9764  *
9765  * def _setParamsInEsCore(self):
9766  */
9767  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9768  __Pyx_GOTREF(__pyx_t_2);
9769  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9770  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9771  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic.r_cut); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9772  __Pyx_GOTREF(__pyx_t_2);
9773  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_cut, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9774  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9775  __pyx_r = __pyx_t_1;
9776  __pyx_t_1 = 0;
9777  goto __pyx_L0;
9778 
9779  /* "espressomd/interactions.pyx":522
9780  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
9781  *
9782  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
9783  * return \
9784  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
9785  */
9786 
9787  /* function exit code */
9788  __pyx_L1_error:;
9789  __Pyx_XDECREF(__pyx_t_1);
9790  __Pyx_XDECREF(__pyx_t_2);
9791  __Pyx_AddTraceback("espressomd.interactions.HarmonicBond._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
9792  __pyx_r = NULL;
9793  __pyx_L0:;
9794  __Pyx_XGIVEREF(__pyx_r);
9795  __Pyx_RefNannyFinishContext();
9796  return __pyx_r;
9797 }
9798 
9799 /* "espressomd/interactions.pyx":528
9800  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
9801  *
9802  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
9803  * harmonic_set_params(
9804  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"])
9805  */
9806 
9807 /* Python wrapper */
9808 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9809 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12HarmonicBond_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_12HarmonicBond_13_setParamsInEsCore, METH_O, 0};
9810 static PyObject *__pyx_pw_10espressomd_12interactions_12HarmonicBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9811  PyObject *__pyx_r = 0;
9812  __Pyx_RefNannyDeclarations
9813  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
9814  __pyx_r = __pyx_pf_10espressomd_12interactions_12HarmonicBond_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
9815 
9816  /* function exit code */
9817  __Pyx_RefNannyFinishContext();
9818  return __pyx_r;
9819 }
9820 
9821 static PyObject *__pyx_pf_10espressomd_12interactions_12HarmonicBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
9822  PyObject *__pyx_r = NULL;
9823  __Pyx_RefNannyDeclarations
9824  PyObject *__pyx_t_1 = NULL;
9825  int __pyx_t_2;
9826  PyObject *__pyx_t_3 = NULL;
9827  double __pyx_t_4;
9828  double __pyx_t_5;
9829  double __pyx_t_6;
9830  int __pyx_lineno = 0;
9831  const char *__pyx_filename = NULL;
9832  int __pyx_clineno = 0;
9833  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
9834 
9835  /* "espressomd/interactions.pyx":530
9836  * def _setParamsInEsCore(self):
9837  * harmonic_set_params(
9838  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"]) # <<<<<<<<<<<<<<
9839  *
9840  *
9841  */
9842  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9843  __Pyx_GOTREF(__pyx_t_1);
9844  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9845  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9846  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9847  __Pyx_GOTREF(__pyx_t_1);
9848  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_k); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9849  __Pyx_GOTREF(__pyx_t_3);
9850  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9851  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9852  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9853  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9854  __Pyx_GOTREF(__pyx_t_3);
9855  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_r_0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9856  __Pyx_GOTREF(__pyx_t_1);
9857  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9858  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9859  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9860  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9861  __Pyx_GOTREF(__pyx_t_1);
9862  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_r_cut); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
9863  __Pyx_GOTREF(__pyx_t_3);
9864  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9865  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9866  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9867 
9868  /* "espressomd/interactions.pyx":529
9869  *
9870  * def _setParamsInEsCore(self):
9871  * harmonic_set_params( # <<<<<<<<<<<<<<
9872  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"])
9873  *
9874  */
9875  harmonic_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_t_6);
9876 
9877  /* "espressomd/interactions.pyx":528
9878  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
9879  *
9880  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
9881  * harmonic_set_params(
9882  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"])
9883  */
9884 
9885  /* function exit code */
9886  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9887  goto __pyx_L0;
9888  __pyx_L1_error:;
9889  __Pyx_XDECREF(__pyx_t_1);
9890  __Pyx_XDECREF(__pyx_t_3);
9891  __Pyx_AddTraceback("espressomd.interactions.HarmonicBond._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
9892  __pyx_r = NULL;
9893  __pyx_L0:;
9894  __Pyx_XGIVEREF(__pyx_r);
9895  __Pyx_RefNannyFinishContext();
9896  return __pyx_r;
9897 }
9898 
9899 /* "espressomd/interactions.pyx":536
9900  * class HarmonicDumbbellBond(BondedInteraction):
9901  *
9902  * def typeNumber(self): # <<<<<<<<<<<<<<
9903  * return 2
9904  *
9905  */
9906 
9907 /* Python wrapper */
9908 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9909 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_1typeNumber, METH_O, 0};
9910 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9911  PyObject *__pyx_r = 0;
9912  __Pyx_RefNannyDeclarations
9913  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
9914  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
9915 
9916  /* function exit code */
9917  __Pyx_RefNannyFinishContext();
9918  return __pyx_r;
9919 }
9920 
9921 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9922  PyObject *__pyx_r = NULL;
9923  __Pyx_RefNannyDeclarations
9924  __Pyx_RefNannySetupContext("typeNumber", 0);
9925 
9926  /* "espressomd/interactions.pyx":537
9927  *
9928  * def typeNumber(self):
9929  * return 2 # <<<<<<<<<<<<<<
9930  *
9931  * def typeName(self):
9932  */
9933  __Pyx_XDECREF(__pyx_r);
9934  __Pyx_INCREF(__pyx_int_2);
9935  __pyx_r = __pyx_int_2;
9936  goto __pyx_L0;
9937 
9938  /* "espressomd/interactions.pyx":536
9939  * class HarmonicDumbbellBond(BondedInteraction):
9940  *
9941  * def typeNumber(self): # <<<<<<<<<<<<<<
9942  * return 2
9943  *
9944  */
9945 
9946  /* function exit code */
9947  __pyx_L0:;
9948  __Pyx_XGIVEREF(__pyx_r);
9949  __Pyx_RefNannyFinishContext();
9950  return __pyx_r;
9951 }
9952 
9953 /* "espressomd/interactions.pyx":539
9954  * return 2
9955  *
9956  * def typeName(self): # <<<<<<<<<<<<<<
9957  * return "HARMONIC_DUMBBELL"
9958  *
9959  */
9960 
9961 /* Python wrapper */
9962 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
9963 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_3typeName, METH_O, 0};
9964 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
9965  PyObject *__pyx_r = 0;
9966  __Pyx_RefNannyDeclarations
9967  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
9968  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
9969 
9970  /* function exit code */
9971  __Pyx_RefNannyFinishContext();
9972  return __pyx_r;
9973 }
9974 
9975 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
9976  PyObject *__pyx_r = NULL;
9977  __Pyx_RefNannyDeclarations
9978  __Pyx_RefNannySetupContext("typeName", 0);
9979 
9980  /* "espressomd/interactions.pyx":540
9981  *
9982  * def typeName(self):
9983  * return "HARMONIC_DUMBBELL" # <<<<<<<<<<<<<<
9984  *
9985  * def validKeys(self):
9986  */
9987  __Pyx_XDECREF(__pyx_r);
9988  __Pyx_INCREF(__pyx_n_s_HARMONIC_DUMBBELL);
9989  __pyx_r = __pyx_n_s_HARMONIC_DUMBBELL;
9990  goto __pyx_L0;
9991 
9992  /* "espressomd/interactions.pyx":539
9993  * return 2
9994  *
9995  * def typeName(self): # <<<<<<<<<<<<<<
9996  * return "HARMONIC_DUMBBELL"
9997  *
9998  */
9999 
10000  /* function exit code */
10001  __pyx_L0:;
10002  __Pyx_XGIVEREF(__pyx_r);
10003  __Pyx_RefNannyFinishContext();
10004  return __pyx_r;
10005 }
10006 
10007 /* "espressomd/interactions.pyx":542
10008  * return "HARMONIC_DUMBBELL"
10009  *
10010  * def validKeys(self): # <<<<<<<<<<<<<<
10011  * return "k1", "k2", "r_0", "r_cut"
10012  *
10013  */
10014 
10015 /* Python wrapper */
10016 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10017 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_5validKeys, METH_O, 0};
10018 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10019  PyObject *__pyx_r = 0;
10020  __Pyx_RefNannyDeclarations
10021  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
10022  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
10023 
10024  /* function exit code */
10025  __Pyx_RefNannyFinishContext();
10026  return __pyx_r;
10027 }
10028 
10029 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10030  PyObject *__pyx_r = NULL;
10031  __Pyx_RefNannyDeclarations
10032  __Pyx_RefNannySetupContext("validKeys", 0);
10033 
10034  /* "espressomd/interactions.pyx":543
10035  *
10036  * def validKeys(self):
10037  * return "k1", "k2", "r_0", "r_cut" # <<<<<<<<<<<<<<
10038  *
10039  * def requiredKeys(self):
10040  */
10041  __Pyx_XDECREF(__pyx_r);
10042  __Pyx_INCREF(__pyx_tuple__37);
10043  __pyx_r = __pyx_tuple__37;
10044  goto __pyx_L0;
10045 
10046  /* "espressomd/interactions.pyx":542
10047  * return "HARMONIC_DUMBBELL"
10048  *
10049  * def validKeys(self): # <<<<<<<<<<<<<<
10050  * return "k1", "k2", "r_0", "r_cut"
10051  *
10052  */
10053 
10054  /* function exit code */
10055  __pyx_L0:;
10056  __Pyx_XGIVEREF(__pyx_r);
10057  __Pyx_RefNannyFinishContext();
10058  return __pyx_r;
10059 }
10060 
10061 /* "espressomd/interactions.pyx":545
10062  * return "k1", "k2", "r_0", "r_cut"
10063  *
10064  * def requiredKeys(self): # <<<<<<<<<<<<<<
10065  * return "k1", "k2", "r_0"
10066  *
10067  */
10068 
10069 /* Python wrapper */
10070 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10071 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_7requiredKeys, METH_O, 0};
10072 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10073  PyObject *__pyx_r = 0;
10074  __Pyx_RefNannyDeclarations
10075  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
10076  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
10077 
10078  /* function exit code */
10079  __Pyx_RefNannyFinishContext();
10080  return __pyx_r;
10081 }
10082 
10083 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10084  PyObject *__pyx_r = NULL;
10085  __Pyx_RefNannyDeclarations
10086  __Pyx_RefNannySetupContext("requiredKeys", 0);
10087 
10088  /* "espressomd/interactions.pyx":546
10089  *
10090  * def requiredKeys(self):
10091  * return "k1", "k2", "r_0" # <<<<<<<<<<<<<<
10092  *
10093  * def setDefaultParams(self):
10094  */
10095  __Pyx_XDECREF(__pyx_r);
10096  __Pyx_INCREF(__pyx_tuple__38);
10097  __pyx_r = __pyx_tuple__38;
10098  goto __pyx_L0;
10099 
10100  /* "espressomd/interactions.pyx":545
10101  * return "k1", "k2", "r_0", "r_cut"
10102  *
10103  * def requiredKeys(self): # <<<<<<<<<<<<<<
10104  * return "k1", "k2", "r_0"
10105  *
10106  */
10107 
10108  /* function exit code */
10109  __pyx_L0:;
10110  __Pyx_XGIVEREF(__pyx_r);
10111  __Pyx_RefNannyFinishContext();
10112  return __pyx_r;
10113 }
10114 
10115 /* "espressomd/interactions.pyx":548
10116  * return "k1", "k2", "r_0"
10117  *
10118  * def setDefaultParams(self): # <<<<<<<<<<<<<<
10119  * self._params = {"r_cut": 0.}
10120  *
10121  */
10122 
10123 /* Python wrapper */
10124 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10125 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_9setDefaultParams, METH_O, 0};
10126 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10127  PyObject *__pyx_r = 0;
10128  __Pyx_RefNannyDeclarations
10129  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
10130  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
10131 
10132  /* function exit code */
10133  __Pyx_RefNannyFinishContext();
10134  return __pyx_r;
10135 }
10136 
10137 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10138  PyObject *__pyx_r = NULL;
10139  __Pyx_RefNannyDeclarations
10140  PyObject *__pyx_t_1 = NULL;
10141  int __pyx_lineno = 0;
10142  const char *__pyx_filename = NULL;
10143  int __pyx_clineno = 0;
10144  __Pyx_RefNannySetupContext("setDefaultParams", 0);
10145 
10146  /* "espressomd/interactions.pyx":549
10147  *
10148  * def setDefaultParams(self):
10149  * self._params = {"r_cut": 0.} # <<<<<<<<<<<<<<
10150  *
10151  * def _getParamsFromEsCore(self):
10152  */
10153  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10154  __Pyx_GOTREF(__pyx_t_1);
10155  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_cut, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10156  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10157  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10158 
10159  /* "espressomd/interactions.pyx":548
10160  * return "k1", "k2", "r_0"
10161  *
10162  * def setDefaultParams(self): # <<<<<<<<<<<<<<
10163  * self._params = {"r_cut": 0.}
10164  *
10165  */
10166 
10167  /* function exit code */
10168  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10169  goto __pyx_L0;
10170  __pyx_L1_error:;
10171  __Pyx_XDECREF(__pyx_t_1);
10172  __Pyx_AddTraceback("espressomd.interactions.HarmonicDumbbellBond.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
10173  __pyx_r = NULL;
10174  __pyx_L0:;
10175  __Pyx_XGIVEREF(__pyx_r);
10176  __Pyx_RefNannyFinishContext();
10177  return __pyx_r;
10178 }
10179 
10180 /* "espressomd/interactions.pyx":551
10181  * self._params = {"r_cut": 0.}
10182  *
10183  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
10184  * return \
10185  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
10186  */
10187 
10188 /* Python wrapper */
10189 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10190 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_11_getParamsFromEsCore, METH_O, 0};
10191 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10192  PyObject *__pyx_r = 0;
10193  __Pyx_RefNannyDeclarations
10194  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
10195  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
10196 
10197  /* function exit code */
10198  __Pyx_RefNannyFinishContext();
10199  return __pyx_r;
10200 }
10201 
10202 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10203  PyObject *__pyx_r = NULL;
10204  __Pyx_RefNannyDeclarations
10205  PyObject *__pyx_t_1 = NULL;
10206  PyObject *__pyx_t_2 = NULL;
10207  Py_ssize_t __pyx_t_3;
10208  int __pyx_lineno = 0;
10209  const char *__pyx_filename = NULL;
10210  int __pyx_clineno = 0;
10211  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
10212 
10213  /* "espressomd/interactions.pyx":552
10214  *
10215  * def _getParamsFromEsCore(self):
10216  * return \ # <<<<<<<<<<<<<<
10217  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
10218  * "k2": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k2,
10219  */
10220  __Pyx_XDECREF(__pyx_r);
10221 
10222  /* "espressomd/interactions.pyx":553
10223  * def _getParamsFromEsCore(self):
10224  * return \
10225  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1, # <<<<<<<<<<<<<<
10226  * "k2": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k2,
10227  * "r_0": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r,
10228  */
10229  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10230  __Pyx_GOTREF(__pyx_t_1);
10231  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10232  __Pyx_GOTREF(__pyx_t_2);
10233  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10234  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10235  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic_dumbbell.k1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10236  __Pyx_GOTREF(__pyx_t_2);
10237  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10238  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10239 
10240  /* "espressomd/interactions.pyx":554
10241  * return \
10242  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
10243  * "k2": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k2, # <<<<<<<<<<<<<<
10244  * "r_0": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r,
10245  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
10246  */
10247  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10248  __Pyx_GOTREF(__pyx_t_2);
10249  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10250  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10251  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic_dumbbell.k2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10252  __Pyx_GOTREF(__pyx_t_2);
10253  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10254  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10255 
10256  /* "espressomd/interactions.pyx":555
10257  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
10258  * "k2": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k2,
10259  * "r_0": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r, # <<<<<<<<<<<<<<
10260  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
10261  *
10262  */
10263  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10264  __Pyx_GOTREF(__pyx_t_2);
10265  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10266  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10267  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic_dumbbell.r); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10268  __Pyx_GOTREF(__pyx_t_2);
10269  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10270  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10271 
10272  /* "espressomd/interactions.pyx":556
10273  * "k2": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k2,
10274  * "r_0": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r,
10275  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut} # <<<<<<<<<<<<<<
10276  *
10277  * def _setParamsInEsCore(self):
10278  */
10279  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10280  __Pyx_GOTREF(__pyx_t_2);
10281  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10282  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10283  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.harmonic_dumbbell.r_cut); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10284  __Pyx_GOTREF(__pyx_t_2);
10285  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r_cut, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10286  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10287  __pyx_r = __pyx_t_1;
10288  __pyx_t_1 = 0;
10289  goto __pyx_L0;
10290 
10291  /* "espressomd/interactions.pyx":551
10292  * self._params = {"r_cut": 0.}
10293  *
10294  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
10295  * return \
10296  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
10297  */
10298 
10299  /* function exit code */
10300  __pyx_L1_error:;
10301  __Pyx_XDECREF(__pyx_t_1);
10302  __Pyx_XDECREF(__pyx_t_2);
10303  __Pyx_AddTraceback("espressomd.interactions.HarmonicDumbbellBond._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
10304  __pyx_r = NULL;
10305  __pyx_L0:;
10306  __Pyx_XGIVEREF(__pyx_r);
10307  __Pyx_RefNannyFinishContext();
10308  return __pyx_r;
10309 }
10310 
10311 /* "espressomd/interactions.pyx":558
10312  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
10313  *
10314  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
10315  * harmonic_dumbbell_set_params(
10316  * self._bondId, self._params["k1"], self._params["k2"],
10317  */
10318 
10319 /* Python wrapper */
10320 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10321 static PyMethodDef __pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_13_setParamsInEsCore, METH_O, 0};
10322 static PyObject *__pyx_pw_10espressomd_12interactions_20HarmonicDumbbellBond_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10323  PyObject *__pyx_r = 0;
10324  __Pyx_RefNannyDeclarations
10325  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
10326  __pyx_r = __pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
10327 
10328  /* function exit code */
10329  __Pyx_RefNannyFinishContext();
10330  return __pyx_r;
10331 }
10332 
10333 static PyObject *__pyx_pf_10espressomd_12interactions_20HarmonicDumbbellBond_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10334  PyObject *__pyx_r = NULL;
10335  __Pyx_RefNannyDeclarations
10336  PyObject *__pyx_t_1 = NULL;
10337  int __pyx_t_2;
10338  PyObject *__pyx_t_3 = NULL;
10339  double __pyx_t_4;
10340  double __pyx_t_5;
10341  double __pyx_t_6;
10342  double __pyx_t_7;
10343  int __pyx_lineno = 0;
10344  const char *__pyx_filename = NULL;
10345  int __pyx_clineno = 0;
10346  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
10347 
10348  /* "espressomd/interactions.pyx":560
10349  * def _setParamsInEsCore(self):
10350  * harmonic_dumbbell_set_params(
10351  * self._bondId, self._params["k1"], self._params["k2"], # <<<<<<<<<<<<<<
10352  * self._params["r_0"], self._params["r_cut"])
10353  *
10354  */
10355  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10356  __Pyx_GOTREF(__pyx_t_1);
10357  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10358  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10359  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10360  __Pyx_GOTREF(__pyx_t_1);
10361  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_k1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10362  __Pyx_GOTREF(__pyx_t_3);
10363  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10364  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10365  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10366  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10367  __Pyx_GOTREF(__pyx_t_3);
10368  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_k2); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10369  __Pyx_GOTREF(__pyx_t_1);
10370  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10371  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10372  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10373 
10374  /* "espressomd/interactions.pyx":561
10375  * harmonic_dumbbell_set_params(
10376  * self._bondId, self._params["k1"], self._params["k2"],
10377  * self._params["r_0"], self._params["r_cut"]) # <<<<<<<<<<<<<<
10378  *
10379  * IF ROTATION != 1:
10380  */
10381  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10382  __Pyx_GOTREF(__pyx_t_1);
10383  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_r_0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10384  __Pyx_GOTREF(__pyx_t_3);
10385  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10386  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10387  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10388  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10389  __Pyx_GOTREF(__pyx_t_3);
10390  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_r_cut); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10391  __Pyx_GOTREF(__pyx_t_1);
10392  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10393  __pyx_t_7 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_7 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10394  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10395 
10396  /* "espressomd/interactions.pyx":559
10397  *
10398  * def _setParamsInEsCore(self):
10399  * harmonic_dumbbell_set_params( # <<<<<<<<<<<<<<
10400  * self._bondId, self._params["k1"], self._params["k2"],
10401  * self._params["r_0"], self._params["r_cut"])
10402  */
10403  harmonic_dumbbell_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7);
10404 
10405  /* "espressomd/interactions.pyx":558
10406  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
10407  *
10408  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
10409  * harmonic_dumbbell_set_params(
10410  * self._bondId, self._params["k1"], self._params["k2"],
10411  */
10412 
10413  /* function exit code */
10414  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10415  goto __pyx_L0;
10416  __pyx_L1_error:;
10417  __Pyx_XDECREF(__pyx_t_1);
10418  __Pyx_XDECREF(__pyx_t_3);
10419  __Pyx_AddTraceback("espressomd.interactions.HarmonicDumbbellBond._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
10420  __pyx_r = NULL;
10421  __pyx_L0:;
10422  __Pyx_XGIVEREF(__pyx_r);
10423  __Pyx_RefNannyFinishContext();
10424  return __pyx_r;
10425 }
10426 
10427 /* "espressomd/interactions.pyx":629
10428  * class Dihedral(BondedInteraction):
10429  *
10430  * def typeNumber(self): # <<<<<<<<<<<<<<
10431  * return 5
10432  *
10433  */
10434 
10435 /* Python wrapper */
10436 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10437 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_1typeNumber, METH_O, 0};
10438 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10439  PyObject *__pyx_r = 0;
10440  __Pyx_RefNannyDeclarations
10441  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
10442  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
10443 
10444  /* function exit code */
10445  __Pyx_RefNannyFinishContext();
10446  return __pyx_r;
10447 }
10448 
10449 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10450  PyObject *__pyx_r = NULL;
10451  __Pyx_RefNannyDeclarations
10452  __Pyx_RefNannySetupContext("typeNumber", 0);
10453 
10454  /* "espressomd/interactions.pyx":630
10455  *
10456  * def typeNumber(self):
10457  * return 5 # <<<<<<<<<<<<<<
10458  *
10459  * def typeName(self):
10460  */
10461  __Pyx_XDECREF(__pyx_r);
10462  __Pyx_INCREF(__pyx_int_5);
10463  __pyx_r = __pyx_int_5;
10464  goto __pyx_L0;
10465 
10466  /* "espressomd/interactions.pyx":629
10467  * class Dihedral(BondedInteraction):
10468  *
10469  * def typeNumber(self): # <<<<<<<<<<<<<<
10470  * return 5
10471  *
10472  */
10473 
10474  /* function exit code */
10475  __pyx_L0:;
10476  __Pyx_XGIVEREF(__pyx_r);
10477  __Pyx_RefNannyFinishContext();
10478  return __pyx_r;
10479 }
10480 
10481 /* "espressomd/interactions.pyx":632
10482  * return 5
10483  *
10484  * def typeName(self): # <<<<<<<<<<<<<<
10485  * return "DIHEDRAL"
10486  *
10487  */
10488 
10489 /* Python wrapper */
10490 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10491 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_3typeName, METH_O, 0};
10492 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10493  PyObject *__pyx_r = 0;
10494  __Pyx_RefNannyDeclarations
10495  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
10496  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
10497 
10498  /* function exit code */
10499  __Pyx_RefNannyFinishContext();
10500  return __pyx_r;
10501 }
10502 
10503 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10504  PyObject *__pyx_r = NULL;
10505  __Pyx_RefNannyDeclarations
10506  __Pyx_RefNannySetupContext("typeName", 0);
10507 
10508  /* "espressomd/interactions.pyx":633
10509  *
10510  * def typeName(self):
10511  * return "DIHEDRAL" # <<<<<<<<<<<<<<
10512  *
10513  * def validKeys(self):
10514  */
10515  __Pyx_XDECREF(__pyx_r);
10516  __Pyx_INCREF(__pyx_n_s_DIHEDRAL);
10517  __pyx_r = __pyx_n_s_DIHEDRAL;
10518  goto __pyx_L0;
10519 
10520  /* "espressomd/interactions.pyx":632
10521  * return 5
10522  *
10523  * def typeName(self): # <<<<<<<<<<<<<<
10524  * return "DIHEDRAL"
10525  *
10526  */
10527 
10528  /* function exit code */
10529  __pyx_L0:;
10530  __Pyx_XGIVEREF(__pyx_r);
10531  __Pyx_RefNannyFinishContext();
10532  return __pyx_r;
10533 }
10534 
10535 /* "espressomd/interactions.pyx":635
10536  * return "DIHEDRAL"
10537  *
10538  * def validKeys(self): # <<<<<<<<<<<<<<
10539  * return "mult", "bend", "phase"
10540  *
10541  */
10542 
10543 /* Python wrapper */
10544 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10545 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_5validKeys, METH_O, 0};
10546 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10547  PyObject *__pyx_r = 0;
10548  __Pyx_RefNannyDeclarations
10549  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
10550  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
10551 
10552  /* function exit code */
10553  __Pyx_RefNannyFinishContext();
10554  return __pyx_r;
10555 }
10556 
10557 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10558  PyObject *__pyx_r = NULL;
10559  __Pyx_RefNannyDeclarations
10560  __Pyx_RefNannySetupContext("validKeys", 0);
10561 
10562  /* "espressomd/interactions.pyx":636
10563  *
10564  * def validKeys(self):
10565  * return "mult", "bend", "phase" # <<<<<<<<<<<<<<
10566  *
10567  * def requiredKeys(self):
10568  */
10569  __Pyx_XDECREF(__pyx_r);
10570  __Pyx_INCREF(__pyx_tuple__39);
10571  __pyx_r = __pyx_tuple__39;
10572  goto __pyx_L0;
10573 
10574  /* "espressomd/interactions.pyx":635
10575  * return "DIHEDRAL"
10576  *
10577  * def validKeys(self): # <<<<<<<<<<<<<<
10578  * return "mult", "bend", "phase"
10579  *
10580  */
10581 
10582  /* function exit code */
10583  __pyx_L0:;
10584  __Pyx_XGIVEREF(__pyx_r);
10585  __Pyx_RefNannyFinishContext();
10586  return __pyx_r;
10587 }
10588 
10589 /* "espressomd/interactions.pyx":638
10590  * return "mult", "bend", "phase"
10591  *
10592  * def requiredKeys(self): # <<<<<<<<<<<<<<
10593  * return "mult", "bend", "phase"
10594  *
10595  */
10596 
10597 /* Python wrapper */
10598 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10599 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_7requiredKeys, METH_O, 0};
10600 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10601  PyObject *__pyx_r = 0;
10602  __Pyx_RefNannyDeclarations
10603  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
10604  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
10605 
10606  /* function exit code */
10607  __Pyx_RefNannyFinishContext();
10608  return __pyx_r;
10609 }
10610 
10611 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10612  PyObject *__pyx_r = NULL;
10613  __Pyx_RefNannyDeclarations
10614  __Pyx_RefNannySetupContext("requiredKeys", 0);
10615 
10616  /* "espressomd/interactions.pyx":639
10617  *
10618  * def requiredKeys(self):
10619  * return "mult", "bend", "phase" # <<<<<<<<<<<<<<
10620  *
10621  * def setDefaultParams(self):
10622  */
10623  __Pyx_XDECREF(__pyx_r);
10624  __Pyx_INCREF(__pyx_tuple__40);
10625  __pyx_r = __pyx_tuple__40;
10626  goto __pyx_L0;
10627 
10628  /* "espressomd/interactions.pyx":638
10629  * return "mult", "bend", "phase"
10630  *
10631  * def requiredKeys(self): # <<<<<<<<<<<<<<
10632  * return "mult", "bend", "phase"
10633  *
10634  */
10635 
10636  /* function exit code */
10637  __pyx_L0:;
10638  __Pyx_XGIVEREF(__pyx_r);
10639  __Pyx_RefNannyFinishContext();
10640  return __pyx_r;
10641 }
10642 
10643 /* "espressomd/interactions.pyx":641
10644  * return "mult", "bend", "phase"
10645  *
10646  * def setDefaultParams(self): # <<<<<<<<<<<<<<
10647  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
10648  *
10649  */
10650 
10651 /* Python wrapper */
10652 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10653 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_9setDefaultParams, METH_O, 0};
10654 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10655  PyObject *__pyx_r = 0;
10656  __Pyx_RefNannyDeclarations
10657  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
10658  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
10659 
10660  /* function exit code */
10661  __Pyx_RefNannyFinishContext();
10662  return __pyx_r;
10663 }
10664 
10665 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10666  PyObject *__pyx_r = NULL;
10667  __Pyx_RefNannyDeclarations
10668  PyObject *__pyx_t_1 = NULL;
10669  int __pyx_lineno = 0;
10670  const char *__pyx_filename = NULL;
10671  int __pyx_clineno = 0;
10672  __Pyx_RefNannySetupContext("setDefaultParams", 0);
10673 
10674  /* "espressomd/interactions.pyx":642
10675  *
10676  * def setDefaultParams(self):
10677  * self._params = {"mult'": 1., "bend": 0., "phase": 0.} # <<<<<<<<<<<<<<
10678  *
10679  * def _getParamsFromEsCore(self):
10680  */
10681  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10682  __Pyx_GOTREF(__pyx_t_1);
10683  if (PyDict_SetItem(__pyx_t_1, __pyx_kp_s_mult_2, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10684  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10685  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phase, __pyx_float_0_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10686  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10687  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10688 
10689  /* "espressomd/interactions.pyx":641
10690  * return "mult", "bend", "phase"
10691  *
10692  * def setDefaultParams(self): # <<<<<<<<<<<<<<
10693  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
10694  *
10695  */
10696 
10697  /* function exit code */
10698  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10699  goto __pyx_L0;
10700  __pyx_L1_error:;
10701  __Pyx_XDECREF(__pyx_t_1);
10702  __Pyx_AddTraceback("espressomd.interactions.Dihedral.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
10703  __pyx_r = NULL;
10704  __pyx_L0:;
10705  __Pyx_XGIVEREF(__pyx_r);
10706  __Pyx_RefNannyFinishContext();
10707  return __pyx_r;
10708 }
10709 
10710 /* "espressomd/interactions.pyx":644
10711  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
10712  *
10713  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
10714  * return \
10715  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
10716  */
10717 
10718 /* Python wrapper */
10719 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10720 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_11_getParamsFromEsCore, METH_O, 0};
10721 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10722  PyObject *__pyx_r = 0;
10723  __Pyx_RefNannyDeclarations
10724  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
10725  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
10726 
10727  /* function exit code */
10728  __Pyx_RefNannyFinishContext();
10729  return __pyx_r;
10730 }
10731 
10732 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10733  PyObject *__pyx_r = NULL;
10734  __Pyx_RefNannyDeclarations
10735  PyObject *__pyx_t_1 = NULL;
10736  PyObject *__pyx_t_2 = NULL;
10737  Py_ssize_t __pyx_t_3;
10738  int __pyx_lineno = 0;
10739  const char *__pyx_filename = NULL;
10740  int __pyx_clineno = 0;
10741  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
10742 
10743  /* "espressomd/interactions.pyx":645
10744  *
10745  * def _getParamsFromEsCore(self):
10746  * return \ # <<<<<<<<<<<<<<
10747  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
10748  * "bend": bonded_ia_params[self._bondId].p.dihedral.bend,
10749  */
10750  __Pyx_XDECREF(__pyx_r);
10751 
10752  /* "espressomd/interactions.pyx":646
10753  * def _getParamsFromEsCore(self):
10754  * return \
10755  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult, # <<<<<<<<<<<<<<
10756  * "bend": bonded_ia_params[self._bondId].p.dihedral.bend,
10757  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
10758  */
10759  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10760  __Pyx_GOTREF(__pyx_t_1);
10761  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10762  __Pyx_GOTREF(__pyx_t_2);
10763  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10764  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10765  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.dihedral.mult); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10766  __Pyx_GOTREF(__pyx_t_2);
10767  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mult, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10768  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10769 
10770  /* "espressomd/interactions.pyx":647
10771  * return \
10772  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
10773  * "bend": bonded_ia_params[self._bondId].p.dihedral.bend, # <<<<<<<<<<<<<<
10774  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
10775  *
10776  */
10777  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10778  __Pyx_GOTREF(__pyx_t_2);
10779  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10780  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10781  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.dihedral.bend); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10782  __Pyx_GOTREF(__pyx_t_2);
10783  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10784  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10785 
10786  /* "espressomd/interactions.pyx":648
10787  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
10788  * "bend": bonded_ia_params[self._bondId].p.dihedral.bend,
10789  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase} # <<<<<<<<<<<<<<
10790  *
10791  * def _setParamsInEsCore(self):
10792  */
10793  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10794  __Pyx_GOTREF(__pyx_t_2);
10795  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10796  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10797  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.dihedral.phase); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10798  __Pyx_GOTREF(__pyx_t_2);
10799  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phase, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 646; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10800  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10801  __pyx_r = __pyx_t_1;
10802  __pyx_t_1 = 0;
10803  goto __pyx_L0;
10804 
10805  /* "espressomd/interactions.pyx":644
10806  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
10807  *
10808  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
10809  * return \
10810  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
10811  */
10812 
10813  /* function exit code */
10814  __pyx_L1_error:;
10815  __Pyx_XDECREF(__pyx_t_1);
10816  __Pyx_XDECREF(__pyx_t_2);
10817  __Pyx_AddTraceback("espressomd.interactions.Dihedral._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
10818  __pyx_r = NULL;
10819  __pyx_L0:;
10820  __Pyx_XGIVEREF(__pyx_r);
10821  __Pyx_RefNannyFinishContext();
10822  return __pyx_r;
10823 }
10824 
10825 /* "espressomd/interactions.pyx":650
10826  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
10827  *
10828  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
10829  * dihedral_set_params(
10830  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"])
10831  */
10832 
10833 /* Python wrapper */
10834 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10835 static PyMethodDef __pyx_mdef_10espressomd_12interactions_8Dihedral_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_8Dihedral_13_setParamsInEsCore, METH_O, 0};
10836 static PyObject *__pyx_pw_10espressomd_12interactions_8Dihedral_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10837  PyObject *__pyx_r = 0;
10838  __Pyx_RefNannyDeclarations
10839  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
10840  __pyx_r = __pyx_pf_10espressomd_12interactions_8Dihedral_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
10841 
10842  /* function exit code */
10843  __Pyx_RefNannyFinishContext();
10844  return __pyx_r;
10845 }
10846 
10847 static PyObject *__pyx_pf_10espressomd_12interactions_8Dihedral_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
10848  PyObject *__pyx_r = NULL;
10849  __Pyx_RefNannyDeclarations
10850  PyObject *__pyx_t_1 = NULL;
10851  int __pyx_t_2;
10852  PyObject *__pyx_t_3 = NULL;
10853  int __pyx_t_4;
10854  double __pyx_t_5;
10855  double __pyx_t_6;
10856  int __pyx_lineno = 0;
10857  const char *__pyx_filename = NULL;
10858  int __pyx_clineno = 0;
10859  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
10860 
10861  /* "espressomd/interactions.pyx":652
10862  * def _setParamsInEsCore(self):
10863  * dihedral_set_params(
10864  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"]) # <<<<<<<<<<<<<<
10865  *
10866  *
10867  */
10868  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10869  __Pyx_GOTREF(__pyx_t_1);
10870  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10871  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10872  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10873  __Pyx_GOTREF(__pyx_t_1);
10874  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_mult); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10875  __Pyx_GOTREF(__pyx_t_3);
10876  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10877  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10878  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10879  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10880  __Pyx_GOTREF(__pyx_t_3);
10881  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_bend); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10882  __Pyx_GOTREF(__pyx_t_1);
10883  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10884  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10885  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10886  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10887  __Pyx_GOTREF(__pyx_t_1);
10888  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_phase); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10889  __Pyx_GOTREF(__pyx_t_3);
10890  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10891  __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10892  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10893 
10894  /* "espressomd/interactions.pyx":651
10895  *
10896  * def _setParamsInEsCore(self):
10897  * dihedral_set_params( # <<<<<<<<<<<<<<
10898  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"])
10899  *
10900  */
10901  dihedral_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5, __pyx_t_6);
10902 
10903  /* "espressomd/interactions.pyx":650
10904  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
10905  *
10906  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
10907  * dihedral_set_params(
10908  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"])
10909  */
10910 
10911  /* function exit code */
10912  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
10913  goto __pyx_L0;
10914  __pyx_L1_error:;
10915  __Pyx_XDECREF(__pyx_t_1);
10916  __Pyx_XDECREF(__pyx_t_3);
10917  __Pyx_AddTraceback("espressomd.interactions.Dihedral._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
10918  __pyx_r = NULL;
10919  __pyx_L0:;
10920  __Pyx_XGIVEREF(__pyx_r);
10921  __Pyx_RefNannyFinishContext();
10922  return __pyx_r;
10923 }
10924 
10925 /* "espressomd/interactions.pyx":658
10926  * class Tabulated(BondedInteraction):
10927  *
10928  * def typeNumber(self): # <<<<<<<<<<<<<<
10929  * return 6
10930  *
10931  */
10932 
10933 /* Python wrapper */
10934 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10935 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_1typeNumber, METH_O, 0};
10936 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10937  PyObject *__pyx_r = 0;
10938  __Pyx_RefNannyDeclarations
10939  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
10940  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
10941 
10942  /* function exit code */
10943  __Pyx_RefNannyFinishContext();
10944  return __pyx_r;
10945 }
10946 
10947 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
10948  PyObject *__pyx_r = NULL;
10949  __Pyx_RefNannyDeclarations
10950  __Pyx_RefNannySetupContext("typeNumber", 0);
10951 
10952  /* "espressomd/interactions.pyx":659
10953  *
10954  * def typeNumber(self):
10955  * return 6 # <<<<<<<<<<<<<<
10956  *
10957  * def typeName(self):
10958  */
10959  __Pyx_XDECREF(__pyx_r);
10960  __Pyx_INCREF(__pyx_int_6);
10961  __pyx_r = __pyx_int_6;
10962  goto __pyx_L0;
10963 
10964  /* "espressomd/interactions.pyx":658
10965  * class Tabulated(BondedInteraction):
10966  *
10967  * def typeNumber(self): # <<<<<<<<<<<<<<
10968  * return 6
10969  *
10970  */
10971 
10972  /* function exit code */
10973  __pyx_L0:;
10974  __Pyx_XGIVEREF(__pyx_r);
10975  __Pyx_RefNannyFinishContext();
10976  return __pyx_r;
10977 }
10978 
10979 /* "espressomd/interactions.pyx":661
10980  * return 6
10981  *
10982  * def typeName(self): # <<<<<<<<<<<<<<
10983  * return "TABULATED"
10984  *
10985  */
10986 
10987 /* Python wrapper */
10988 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
10989 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_3typeName, METH_O, 0};
10990 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
10991  PyObject *__pyx_r = 0;
10992  __Pyx_RefNannyDeclarations
10993  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
10994  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
10995 
10996  /* function exit code */
10997  __Pyx_RefNannyFinishContext();
10998  return __pyx_r;
10999 }
11000 
11001 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11002  PyObject *__pyx_r = NULL;
11003  __Pyx_RefNannyDeclarations
11004  __Pyx_RefNannySetupContext("typeName", 0);
11005 
11006  /* "espressomd/interactions.pyx":662
11007  *
11008  * def typeName(self):
11009  * return "TABULATED" # <<<<<<<<<<<<<<
11010  *
11011  * def validKeys(self):
11012  */
11013  __Pyx_XDECREF(__pyx_r);
11014  __Pyx_INCREF(__pyx_n_s_TABULATED);
11015  __pyx_r = __pyx_n_s_TABULATED;
11016  goto __pyx_L0;
11017 
11018  /* "espressomd/interactions.pyx":661
11019  * return 6
11020  *
11021  * def typeName(self): # <<<<<<<<<<<<<<
11022  * return "TABULATED"
11023  *
11024  */
11025 
11026  /* function exit code */
11027  __pyx_L0:;
11028  __Pyx_XGIVEREF(__pyx_r);
11029  __Pyx_RefNannyFinishContext();
11030  return __pyx_r;
11031 }
11032 
11033 /* "espressomd/interactions.pyx":664
11034  * return "TABULATED"
11035  *
11036  * def validKeys(self): # <<<<<<<<<<<<<<
11037  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11038  *
11039  */
11040 
11041 /* Python wrapper */
11042 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11043 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_5validKeys, METH_O, 0};
11044 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11045  PyObject *__pyx_r = 0;
11046  __Pyx_RefNannyDeclarations
11047  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
11048  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
11049 
11050  /* function exit code */
11051  __Pyx_RefNannyFinishContext();
11052  return __pyx_r;
11053 }
11054 
11055 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11056  PyObject *__pyx_r = NULL;
11057  __Pyx_RefNannyDeclarations
11058  __Pyx_RefNannySetupContext("validKeys", 0);
11059 
11060  /* "espressomd/interactions.pyx":665
11061  *
11062  * def validKeys(self):
11063  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize" # <<<<<<<<<<<<<<
11064  *
11065  * def requiredKeys(self):
11066  */
11067  __Pyx_XDECREF(__pyx_r);
11068  __Pyx_INCREF(__pyx_tuple__41);
11069  __pyx_r = __pyx_tuple__41;
11070  goto __pyx_L0;
11071 
11072  /* "espressomd/interactions.pyx":664
11073  * return "TABULATED"
11074  *
11075  * def validKeys(self): # <<<<<<<<<<<<<<
11076  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11077  *
11078  */
11079 
11080  /* function exit code */
11081  __pyx_L0:;
11082  __Pyx_XGIVEREF(__pyx_r);
11083  __Pyx_RefNannyFinishContext();
11084  return __pyx_r;
11085 }
11086 
11087 /* "espressomd/interactions.pyx":667
11088  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11089  *
11090  * def requiredKeys(self): # <<<<<<<<<<<<<<
11091  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11092  *
11093  */
11094 
11095 /* Python wrapper */
11096 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11097 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_7requiredKeys, METH_O, 0};
11098 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11099  PyObject *__pyx_r = 0;
11100  __Pyx_RefNannyDeclarations
11101  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
11102  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
11103 
11104  /* function exit code */
11105  __Pyx_RefNannyFinishContext();
11106  return __pyx_r;
11107 }
11108 
11109 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11110  PyObject *__pyx_r = NULL;
11111  __Pyx_RefNannyDeclarations
11112  __Pyx_RefNannySetupContext("requiredKeys", 0);
11113 
11114  /* "espressomd/interactions.pyx":668
11115  *
11116  * def requiredKeys(self):
11117  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize" # <<<<<<<<<<<<<<
11118  *
11119  * def setDefaultParams(self):
11120  */
11121  __Pyx_XDECREF(__pyx_r);
11122  __Pyx_INCREF(__pyx_tuple__42);
11123  __pyx_r = __pyx_tuple__42;
11124  goto __pyx_L0;
11125 
11126  /* "espressomd/interactions.pyx":667
11127  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11128  *
11129  * def requiredKeys(self): # <<<<<<<<<<<<<<
11130  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11131  *
11132  */
11133 
11134  /* function exit code */
11135  __pyx_L0:;
11136  __Pyx_XGIVEREF(__pyx_r);
11137  __Pyx_RefNannyFinishContext();
11138  return __pyx_r;
11139 }
11140 
11141 /* "espressomd/interactions.pyx":670
11142  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11143  *
11144  * def setDefaultParams(self): # <<<<<<<<<<<<<<
11145  * self._params = {"type": 1, "filename": "", "npoints": 0, "minval": 0, "maxval": 1,
11146  * "invstepsize": 1}
11147  */
11148 
11149 /* Python wrapper */
11150 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11151 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_9setDefaultParams, METH_O, 0};
11152 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11153  PyObject *__pyx_r = 0;
11154  __Pyx_RefNannyDeclarations
11155  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
11156  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
11157 
11158  /* function exit code */
11159  __Pyx_RefNannyFinishContext();
11160  return __pyx_r;
11161 }
11162 
11163 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11164  PyObject *__pyx_r = NULL;
11165  __Pyx_RefNannyDeclarations
11166  PyObject *__pyx_t_1 = NULL;
11167  int __pyx_lineno = 0;
11168  const char *__pyx_filename = NULL;
11169  int __pyx_clineno = 0;
11170  __Pyx_RefNannySetupContext("setDefaultParams", 0);
11171 
11172  /* "espressomd/interactions.pyx":671
11173  *
11174  * def setDefaultParams(self):
11175  * self._params = {"type": 1, "filename": "", "npoints": 0, "minval": 0, "maxval": 1, # <<<<<<<<<<<<<<
11176  * "invstepsize": 1}
11177  *
11178  */
11179  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11180  __Pyx_GOTREF(__pyx_t_1);
11181  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_type, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11182  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_kp_s__43) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11183  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_npoints, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11184  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_minval, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11185  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_maxval, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11186  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_invstepsize, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11187  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11188  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11189 
11190  /* "espressomd/interactions.pyx":670
11191  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
11192  *
11193  * def setDefaultParams(self): # <<<<<<<<<<<<<<
11194  * self._params = {"type": 1, "filename": "", "npoints": 0, "minval": 0, "maxval": 1,
11195  * "invstepsize": 1}
11196  */
11197 
11198  /* function exit code */
11199  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11200  goto __pyx_L0;
11201  __pyx_L1_error:;
11202  __Pyx_XDECREF(__pyx_t_1);
11203  __Pyx_AddTraceback("espressomd.interactions.Tabulated.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
11204  __pyx_r = NULL;
11205  __pyx_L0:;
11206  __Pyx_XGIVEREF(__pyx_r);
11207  __Pyx_RefNannyFinishContext();
11208  return __pyx_r;
11209 }
11210 
11211 /* "espressomd/interactions.pyx":674
11212  * "invstepsize": 1}
11213  *
11214  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
11215  * return \
11216  * {"type": bonded_ia_params[self._bondId].p.tab.type,
11217  */
11218 
11219 /* Python wrapper */
11220 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11221 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_11_getParamsFromEsCore, METH_O, 0};
11222 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11223  PyObject *__pyx_r = 0;
11224  __Pyx_RefNannyDeclarations
11225  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
11226  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
11227 
11228  /* function exit code */
11229  __Pyx_RefNannyFinishContext();
11230  return __pyx_r;
11231 }
11232 
11233 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11234  PyObject *__pyx_r = NULL;
11235  __Pyx_RefNannyDeclarations
11236  PyObject *__pyx_t_1 = NULL;
11237  PyObject *__pyx_t_2 = NULL;
11238  Py_ssize_t __pyx_t_3;
11239  int __pyx_lineno = 0;
11240  const char *__pyx_filename = NULL;
11241  int __pyx_clineno = 0;
11242  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
11243 
11244  /* "espressomd/interactions.pyx":675
11245  *
11246  * def _getParamsFromEsCore(self):
11247  * return \ # <<<<<<<<<<<<<<
11248  * {"type": bonded_ia_params[self._bondId].p.tab.type,
11249  * "filename": bonded_ia_params[self.bondId].p.tab.filename,
11250  */
11251  __Pyx_XDECREF(__pyx_r);
11252 
11253  /* "espressomd/interactions.pyx":676
11254  * def _getParamsFromEsCore(self):
11255  * return \
11256  * {"type": bonded_ia_params[self._bondId].p.tab.type, # <<<<<<<<<<<<<<
11257  * "filename": bonded_ia_params[self.bondId].p.tab.filename,
11258  * "npoints": bonded_ia_params[self._bondId].p.tab.npoints,
11259  */
11260  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11261  __Pyx_GOTREF(__pyx_t_1);
11262  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11263  __Pyx_GOTREF(__pyx_t_2);
11264  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11265  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11266  __pyx_t_2 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_3]).p.tab.type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11267  __Pyx_GOTREF(__pyx_t_2);
11268  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_type, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11269  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11270 
11271  /* "espressomd/interactions.pyx":677
11272  * return \
11273  * {"type": bonded_ia_params[self._bondId].p.tab.type,
11274  * "filename": bonded_ia_params[self.bondId].p.tab.filename, # <<<<<<<<<<<<<<
11275  * "npoints": bonded_ia_params[self._bondId].p.tab.npoints,
11276  * "minval": bonded_ia_params[self._bondId].p.tab.minval,
11277  */
11278  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11279  __Pyx_GOTREF(__pyx_t_2);
11280  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11281  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11282  __pyx_t_2 = __Pyx_PyBytes_FromString((bonded_ia_params[__pyx_t_3]).p.tab.filename); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11283  __Pyx_GOTREF(__pyx_t_2);
11284  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11285  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11286 
11287  /* "espressomd/interactions.pyx":678
11288  * {"type": bonded_ia_params[self._bondId].p.tab.type,
11289  * "filename": bonded_ia_params[self.bondId].p.tab.filename,
11290  * "npoints": bonded_ia_params[self._bondId].p.tab.npoints, # <<<<<<<<<<<<<<
11291  * "minval": bonded_ia_params[self._bondId].p.tab.minval,
11292  * "maxval": bonded_ia_params[self._bondId].p.tab.maxval,
11293  */
11294  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11295  __Pyx_GOTREF(__pyx_t_2);
11296  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11297  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11298  __pyx_t_2 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_3]).p.tab.npoints); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11299  __Pyx_GOTREF(__pyx_t_2);
11300  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_npoints, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11301  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11302 
11303  /* "espressomd/interactions.pyx":679
11304  * "filename": bonded_ia_params[self.bondId].p.tab.filename,
11305  * "npoints": bonded_ia_params[self._bondId].p.tab.npoints,
11306  * "minval": bonded_ia_params[self._bondId].p.tab.minval, # <<<<<<<<<<<<<<
11307  * "maxval": bonded_ia_params[self._bondId].p.tab.maxval,
11308  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
11309  */
11310  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11311  __Pyx_GOTREF(__pyx_t_2);
11312  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11313  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11314  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.tab.minval); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11315  __Pyx_GOTREF(__pyx_t_2);
11316  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_minval, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11317  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11318 
11319  /* "espressomd/interactions.pyx":680
11320  * "npoints": bonded_ia_params[self._bondId].p.tab.npoints,
11321  * "minval": bonded_ia_params[self._bondId].p.tab.minval,
11322  * "maxval": bonded_ia_params[self._bondId].p.tab.maxval, # <<<<<<<<<<<<<<
11323  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
11324  *
11325  */
11326  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11327  __Pyx_GOTREF(__pyx_t_2);
11328  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11329  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11330  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.tab.maxval); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11331  __Pyx_GOTREF(__pyx_t_2);
11332  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_maxval, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11333  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11334 
11335  /* "espressomd/interactions.pyx":681
11336  * "minval": bonded_ia_params[self._bondId].p.tab.minval,
11337  * "maxval": bonded_ia_params[self._bondId].p.tab.maxval,
11338  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize} # <<<<<<<<<<<<<<
11339  *
11340  * def _setParamsInEsCore(self):
11341  */
11342  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11343  __Pyx_GOTREF(__pyx_t_2);
11344  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11345  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11346  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.tab.invstepsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11347  __Pyx_GOTREF(__pyx_t_2);
11348  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_invstepsize, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 676; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11349  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11350  __pyx_r = __pyx_t_1;
11351  __pyx_t_1 = 0;
11352  goto __pyx_L0;
11353 
11354  /* "espressomd/interactions.pyx":674
11355  * "invstepsize": 1}
11356  *
11357  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
11358  * return \
11359  * {"type": bonded_ia_params[self._bondId].p.tab.type,
11360  */
11361 
11362  /* function exit code */
11363  __pyx_L1_error:;
11364  __Pyx_XDECREF(__pyx_t_1);
11365  __Pyx_XDECREF(__pyx_t_2);
11366  __Pyx_AddTraceback("espressomd.interactions.Tabulated._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
11367  __pyx_r = NULL;
11368  __pyx_L0:;
11369  __Pyx_XGIVEREF(__pyx_r);
11370  __Pyx_RefNannyFinishContext();
11371  return __pyx_r;
11372 }
11373 
11374 /* "espressomd/interactions.pyx":683
11375  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
11376  *
11377  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
11378  * tabulated_bonded_set_params(
11379  * self._bondId, self._params["type"], self._params["filename"])
11380  */
11381 
11382 /* Python wrapper */
11383 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11384 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9Tabulated_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_9Tabulated_13_setParamsInEsCore, METH_O, 0};
11385 static PyObject *__pyx_pw_10espressomd_12interactions_9Tabulated_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11386  PyObject *__pyx_r = 0;
11387  __Pyx_RefNannyDeclarations
11388  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
11389  __pyx_r = __pyx_pf_10espressomd_12interactions_9Tabulated_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
11390 
11391  /* function exit code */
11392  __Pyx_RefNannyFinishContext();
11393  return __pyx_r;
11394 }
11395 
11396 static PyObject *__pyx_pf_10espressomd_12interactions_9Tabulated_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11397  PyObject *__pyx_r = NULL;
11398  __Pyx_RefNannyDeclarations
11399  PyObject *__pyx_t_1 = NULL;
11400  int __pyx_t_2;
11401  PyObject *__pyx_t_3 = NULL;
11402  enum TabulatedBondedInteraction __pyx_t_4;
11403  char *__pyx_t_5;
11404  int __pyx_lineno = 0;
11405  const char *__pyx_filename = NULL;
11406  int __pyx_clineno = 0;
11407  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
11408 
11409  /* "espressomd/interactions.pyx":685
11410  * def _setParamsInEsCore(self):
11411  * tabulated_bonded_set_params(
11412  * self._bondId, self._params["type"], self._params["filename"]) # <<<<<<<<<<<<<<
11413  *
11414  *
11415  */
11416  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11417  __Pyx_GOTREF(__pyx_t_1);
11418  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11419  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11420  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11421  __Pyx_GOTREF(__pyx_t_1);
11422  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_type); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
11423  __Pyx_GOTREF(__pyx_t_3);
11424  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11425  __pyx_t_4 = ((enum TabulatedBondedInteraction)PyInt_AsLong(__pyx_t_3)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11426  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11427  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11428  __Pyx_GOTREF(__pyx_t_3);
11429  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_filename); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
11430  __Pyx_GOTREF(__pyx_t_1);
11431  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11432  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_t_1); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 685; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11433 
11434  /* "espressomd/interactions.pyx":684
11435  *
11436  * def _setParamsInEsCore(self):
11437  * tabulated_bonded_set_params( # <<<<<<<<<<<<<<
11438  * self._bondId, self._params["type"], self._params["filename"])
11439  *
11440  */
11441  tabulated_bonded_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
11442  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11443 
11444  /* "espressomd/interactions.pyx":683
11445  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
11446  *
11447  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
11448  * tabulated_bonded_set_params(
11449  * self._bondId, self._params["type"], self._params["filename"])
11450  */
11451 
11452  /* function exit code */
11453  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11454  goto __pyx_L0;
11455  __pyx_L1_error:;
11456  __Pyx_XDECREF(__pyx_t_1);
11457  __Pyx_XDECREF(__pyx_t_3);
11458  __Pyx_AddTraceback("espressomd.interactions.Tabulated._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
11459  __pyx_r = NULL;
11460  __pyx_L0:;
11461  __Pyx_XGIVEREF(__pyx_r);
11462  __Pyx_RefNannyFinishContext();
11463  return __pyx_r;
11464 }
11465 
11466 /* "espressomd/interactions.pyx":715
11467  * class Subt_Lj(BondedInteraction):
11468  * IF LENNARD_JONES == 1:
11469  * def typeNumber(self): # <<<<<<<<<<<<<<
11470  * return 7
11471  *
11472  */
11473 
11474 /* Python wrapper */
11475 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11476 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_1typeNumber, METH_O, 0};
11477 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11478  PyObject *__pyx_r = 0;
11479  __Pyx_RefNannyDeclarations
11480  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
11481  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
11482 
11483  /* function exit code */
11484  __Pyx_RefNannyFinishContext();
11485  return __pyx_r;
11486 }
11487 
11488 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11489  PyObject *__pyx_r = NULL;
11490  __Pyx_RefNannyDeclarations
11491  __Pyx_RefNannySetupContext("typeNumber", 0);
11492 
11493  /* "espressomd/interactions.pyx":716
11494  * IF LENNARD_JONES == 1:
11495  * def typeNumber(self):
11496  * return 7 # <<<<<<<<<<<<<<
11497  *
11498  * def typeName(self):
11499  */
11500  __Pyx_XDECREF(__pyx_r);
11501  __Pyx_INCREF(__pyx_int_7);
11502  __pyx_r = __pyx_int_7;
11503  goto __pyx_L0;
11504 
11505  /* "espressomd/interactions.pyx":715
11506  * class Subt_Lj(BondedInteraction):
11507  * IF LENNARD_JONES == 1:
11508  * def typeNumber(self): # <<<<<<<<<<<<<<
11509  * return 7
11510  *
11511  */
11512 
11513  /* function exit code */
11514  __pyx_L0:;
11515  __Pyx_XGIVEREF(__pyx_r);
11516  __Pyx_RefNannyFinishContext();
11517  return __pyx_r;
11518 }
11519 
11520 /* "espressomd/interactions.pyx":718
11521  * return 7
11522  *
11523  * def typeName(self): # <<<<<<<<<<<<<<
11524  * return "SUBT_LJ"
11525  *
11526  */
11527 
11528 /* Python wrapper */
11529 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11530 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_3typeName, METH_O, 0};
11531 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11532  PyObject *__pyx_r = 0;
11533  __Pyx_RefNannyDeclarations
11534  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
11535  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
11536 
11537  /* function exit code */
11538  __Pyx_RefNannyFinishContext();
11539  return __pyx_r;
11540 }
11541 
11542 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11543  PyObject *__pyx_r = NULL;
11544  __Pyx_RefNannyDeclarations
11545  __Pyx_RefNannySetupContext("typeName", 0);
11546 
11547  /* "espressomd/interactions.pyx":719
11548  *
11549  * def typeName(self):
11550  * return "SUBT_LJ" # <<<<<<<<<<<<<<
11551  *
11552  * def validKeys(self):
11553  */
11554  __Pyx_XDECREF(__pyx_r);
11555  __Pyx_INCREF(__pyx_n_s_SUBT_LJ);
11556  __pyx_r = __pyx_n_s_SUBT_LJ;
11557  goto __pyx_L0;
11558 
11559  /* "espressomd/interactions.pyx":718
11560  * return 7
11561  *
11562  * def typeName(self): # <<<<<<<<<<<<<<
11563  * return "SUBT_LJ"
11564  *
11565  */
11566 
11567  /* function exit code */
11568  __pyx_L0:;
11569  __Pyx_XGIVEREF(__pyx_r);
11570  __Pyx_RefNannyFinishContext();
11571  return __pyx_r;
11572 }
11573 
11574 /* "espressomd/interactions.pyx":721
11575  * return "SUBT_LJ"
11576  *
11577  * def validKeys(self): # <<<<<<<<<<<<<<
11578  * return "r", "k"
11579  *
11580  */
11581 
11582 /* Python wrapper */
11583 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11584 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_5validKeys, METH_O, 0};
11585 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11586  PyObject *__pyx_r = 0;
11587  __Pyx_RefNannyDeclarations
11588  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
11589  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
11590 
11591  /* function exit code */
11592  __Pyx_RefNannyFinishContext();
11593  return __pyx_r;
11594 }
11595 
11596 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11597  PyObject *__pyx_r = NULL;
11598  __Pyx_RefNannyDeclarations
11599  __Pyx_RefNannySetupContext("validKeys", 0);
11600 
11601  /* "espressomd/interactions.pyx":722
11602  *
11603  * def validKeys(self):
11604  * return "r", "k" # <<<<<<<<<<<<<<
11605  *
11606  * def requiredKeys(self):
11607  */
11608  __Pyx_XDECREF(__pyx_r);
11609  __Pyx_INCREF(__pyx_tuple__44);
11610  __pyx_r = __pyx_tuple__44;
11611  goto __pyx_L0;
11612 
11613  /* "espressomd/interactions.pyx":721
11614  * return "SUBT_LJ"
11615  *
11616  * def validKeys(self): # <<<<<<<<<<<<<<
11617  * return "r", "k"
11618  *
11619  */
11620 
11621  /* function exit code */
11622  __pyx_L0:;
11623  __Pyx_XGIVEREF(__pyx_r);
11624  __Pyx_RefNannyFinishContext();
11625  return __pyx_r;
11626 }
11627 
11628 /* "espressomd/interactions.pyx":724
11629  * return "r", "k"
11630  *
11631  * def requiredKeys(self): # <<<<<<<<<<<<<<
11632  * return "r", "k"
11633  *
11634  */
11635 
11636 /* Python wrapper */
11637 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11638 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_7requiredKeys, METH_O, 0};
11639 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11640  PyObject *__pyx_r = 0;
11641  __Pyx_RefNannyDeclarations
11642  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
11643  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
11644 
11645  /* function exit code */
11646  __Pyx_RefNannyFinishContext();
11647  return __pyx_r;
11648 }
11649 
11650 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11651  PyObject *__pyx_r = NULL;
11652  __Pyx_RefNannyDeclarations
11653  __Pyx_RefNannySetupContext("requiredKeys", 0);
11654 
11655  /* "espressomd/interactions.pyx":725
11656  *
11657  * def requiredKeys(self):
11658  * return "r", "k" # <<<<<<<<<<<<<<
11659  *
11660  * def setDefaultParams(self):
11661  */
11662  __Pyx_XDECREF(__pyx_r);
11663  __Pyx_INCREF(__pyx_tuple__45);
11664  __pyx_r = __pyx_tuple__45;
11665  goto __pyx_L0;
11666 
11667  /* "espressomd/interactions.pyx":724
11668  * return "r", "k"
11669  *
11670  * def requiredKeys(self): # <<<<<<<<<<<<<<
11671  * return "r", "k"
11672  *
11673  */
11674 
11675  /* function exit code */
11676  __pyx_L0:;
11677  __Pyx_XGIVEREF(__pyx_r);
11678  __Pyx_RefNannyFinishContext();
11679  return __pyx_r;
11680 }
11681 
11682 /* "espressomd/interactions.pyx":727
11683  * return "r", "k"
11684  *
11685  * def setDefaultParams(self): # <<<<<<<<<<<<<<
11686  * self._params = {"k": 0, "r": 0}
11687  *
11688  */
11689 
11690 /* Python wrapper */
11691 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11692 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_9setDefaultParams, METH_O, 0};
11693 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11694  PyObject *__pyx_r = 0;
11695  __Pyx_RefNannyDeclarations
11696  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
11697  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
11698 
11699  /* function exit code */
11700  __Pyx_RefNannyFinishContext();
11701  return __pyx_r;
11702 }
11703 
11704 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11705  PyObject *__pyx_r = NULL;
11706  __Pyx_RefNannyDeclarations
11707  PyObject *__pyx_t_1 = NULL;
11708  int __pyx_lineno = 0;
11709  const char *__pyx_filename = NULL;
11710  int __pyx_clineno = 0;
11711  __Pyx_RefNannySetupContext("setDefaultParams", 0);
11712 
11713  /* "espressomd/interactions.pyx":728
11714  *
11715  * def setDefaultParams(self):
11716  * self._params = {"k": 0, "r": 0} # <<<<<<<<<<<<<<
11717  *
11718  * def _getParamsFromEsCore(self):
11719  */
11720  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11721  __Pyx_GOTREF(__pyx_t_1);
11722  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11723  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11724  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11725  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11726 
11727  /* "espressomd/interactions.pyx":727
11728  * return "r", "k"
11729  *
11730  * def setDefaultParams(self): # <<<<<<<<<<<<<<
11731  * self._params = {"k": 0, "r": 0}
11732  *
11733  */
11734 
11735  /* function exit code */
11736  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11737  goto __pyx_L0;
11738  __pyx_L1_error:;
11739  __Pyx_XDECREF(__pyx_t_1);
11740  __Pyx_AddTraceback("espressomd.interactions.Subt_Lj.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
11741  __pyx_r = NULL;
11742  __pyx_L0:;
11743  __Pyx_XGIVEREF(__pyx_r);
11744  __Pyx_RefNannyFinishContext();
11745  return __pyx_r;
11746 }
11747 
11748 /* "espressomd/interactions.pyx":730
11749  * self._params = {"k": 0, "r": 0}
11750  *
11751  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
11752  * return \
11753  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
11754  */
11755 
11756 /* Python wrapper */
11757 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11758 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_11_getParamsFromEsCore, METH_O, 0};
11759 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11760  PyObject *__pyx_r = 0;
11761  __Pyx_RefNannyDeclarations
11762  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
11763  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
11764 
11765  /* function exit code */
11766  __Pyx_RefNannyFinishContext();
11767  return __pyx_r;
11768 }
11769 
11770 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11771  PyObject *__pyx_r = NULL;
11772  __Pyx_RefNannyDeclarations
11773  PyObject *__pyx_t_1 = NULL;
11774  PyObject *__pyx_t_2 = NULL;
11775  Py_ssize_t __pyx_t_3;
11776  int __pyx_lineno = 0;
11777  const char *__pyx_filename = NULL;
11778  int __pyx_clineno = 0;
11779  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
11780 
11781  /* "espressomd/interactions.pyx":731
11782  *
11783  * def _getParamsFromEsCore(self):
11784  * return \ # <<<<<<<<<<<<<<
11785  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
11786  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
11787  */
11788  __Pyx_XDECREF(__pyx_r);
11789 
11790  /* "espressomd/interactions.pyx":732
11791  * def _getParamsFromEsCore(self):
11792  * return \
11793  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k, # <<<<<<<<<<<<<<
11794  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
11795  *
11796  */
11797  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11798  __Pyx_GOTREF(__pyx_t_1);
11799  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11800  __Pyx_GOTREF(__pyx_t_2);
11801  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11802  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11803  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.subt_lj.k); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11804  __Pyx_GOTREF(__pyx_t_2);
11805  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_k, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11806  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11807 
11808  /* "espressomd/interactions.pyx":733
11809  * return \
11810  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
11811  * "r": bonded_ia_params[self._bondId].p.subt_lj.r} # <<<<<<<<<<<<<<
11812  *
11813  * def _setParamsInEsCore(self):
11814  */
11815  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11816  __Pyx_GOTREF(__pyx_t_2);
11817  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11818  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11819  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.subt_lj.r); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11820  __Pyx_GOTREF(__pyx_t_2);
11821  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11822  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11823  __pyx_r = __pyx_t_1;
11824  __pyx_t_1 = 0;
11825  goto __pyx_L0;
11826 
11827  /* "espressomd/interactions.pyx":730
11828  * self._params = {"k": 0, "r": 0}
11829  *
11830  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
11831  * return \
11832  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
11833  */
11834 
11835  /* function exit code */
11836  __pyx_L1_error:;
11837  __Pyx_XDECREF(__pyx_t_1);
11838  __Pyx_XDECREF(__pyx_t_2);
11839  __Pyx_AddTraceback("espressomd.interactions.Subt_Lj._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
11840  __pyx_r = NULL;
11841  __pyx_L0:;
11842  __Pyx_XGIVEREF(__pyx_r);
11843  __Pyx_RefNannyFinishContext();
11844  return __pyx_r;
11845 }
11846 
11847 /* "espressomd/interactions.pyx":735
11848  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
11849  *
11850  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
11851  * subt_lj_set_params(
11852  * self._bondId, self._params["k"], self._params["r"])
11853  */
11854 
11855 /* Python wrapper */
11856 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11857 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Subt_Lj_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Subt_Lj_13_setParamsInEsCore, METH_O, 0};
11858 static PyObject *__pyx_pw_10espressomd_12interactions_7Subt_Lj_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11859  PyObject *__pyx_r = 0;
11860  __Pyx_RefNannyDeclarations
11861  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
11862  __pyx_r = __pyx_pf_10espressomd_12interactions_7Subt_Lj_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
11863 
11864  /* function exit code */
11865  __Pyx_RefNannyFinishContext();
11866  return __pyx_r;
11867 }
11868 
11869 static PyObject *__pyx_pf_10espressomd_12interactions_7Subt_Lj_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
11870  PyObject *__pyx_r = NULL;
11871  __Pyx_RefNannyDeclarations
11872  PyObject *__pyx_t_1 = NULL;
11873  int __pyx_t_2;
11874  PyObject *__pyx_t_3 = NULL;
11875  double __pyx_t_4;
11876  double __pyx_t_5;
11877  int __pyx_lineno = 0;
11878  const char *__pyx_filename = NULL;
11879  int __pyx_clineno = 0;
11880  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
11881 
11882  /* "espressomd/interactions.pyx":737
11883  * def _setParamsInEsCore(self):
11884  * subt_lj_set_params(
11885  * self._bondId, self._params["k"], self._params["r"]) # <<<<<<<<<<<<<<
11886  *
11887  * IF BOND_VIRTUAL == 1:
11888  */
11889  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11890  __Pyx_GOTREF(__pyx_t_1);
11891  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11892  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11893  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11894  __Pyx_GOTREF(__pyx_t_1);
11895  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_k); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
11896  __Pyx_GOTREF(__pyx_t_3);
11897  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11898  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11899  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11900  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11901  __Pyx_GOTREF(__pyx_t_3);
11902  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_r); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
11903  __Pyx_GOTREF(__pyx_t_1);
11904  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11905  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
11906  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11907 
11908  /* "espressomd/interactions.pyx":736
11909  *
11910  * def _setParamsInEsCore(self):
11911  * subt_lj_set_params( # <<<<<<<<<<<<<<
11912  * self._bondId, self._params["k"], self._params["r"])
11913  *
11914  */
11915  subt_lj_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
11916 
11917  /* "espressomd/interactions.pyx":735
11918  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
11919  *
11920  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
11921  * subt_lj_set_params(
11922  * self._bondId, self._params["k"], self._params["r"])
11923  */
11924 
11925  /* function exit code */
11926  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
11927  goto __pyx_L0;
11928  __pyx_L1_error:;
11929  __Pyx_XDECREF(__pyx_t_1);
11930  __Pyx_XDECREF(__pyx_t_3);
11931  __Pyx_AddTraceback("espressomd.interactions.Subt_Lj._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
11932  __pyx_r = NULL;
11933  __pyx_L0:;
11934  __Pyx_XGIVEREF(__pyx_r);
11935  __Pyx_RefNannyFinishContext();
11936  return __pyx_r;
11937 }
11938 
11939 /* "espressomd/interactions.pyx":742
11940  * class Virtual(BondedInteraction):
11941  *
11942  * def typeNumber(self): # <<<<<<<<<<<<<<
11943  * return 9
11944  *
11945  */
11946 
11947 /* Python wrapper */
11948 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
11949 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_1typeNumber, METH_O, 0};
11950 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
11951  PyObject *__pyx_r = 0;
11952  __Pyx_RefNannyDeclarations
11953  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
11954  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
11955 
11956  /* function exit code */
11957  __Pyx_RefNannyFinishContext();
11958  return __pyx_r;
11959 }
11960 
11961 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
11962  PyObject *__pyx_r = NULL;
11963  __Pyx_RefNannyDeclarations
11964  __Pyx_RefNannySetupContext("typeNumber", 0);
11965 
11966  /* "espressomd/interactions.pyx":743
11967  *
11968  * def typeNumber(self):
11969  * return 9 # <<<<<<<<<<<<<<
11970  *
11971  * def typeName(self):
11972  */
11973  __Pyx_XDECREF(__pyx_r);
11974  __Pyx_INCREF(__pyx_int_9);
11975  __pyx_r = __pyx_int_9;
11976  goto __pyx_L0;
11977 
11978  /* "espressomd/interactions.pyx":742
11979  * class Virtual(BondedInteraction):
11980  *
11981  * def typeNumber(self): # <<<<<<<<<<<<<<
11982  * return 9
11983  *
11984  */
11985 
11986  /* function exit code */
11987  __pyx_L0:;
11988  __Pyx_XGIVEREF(__pyx_r);
11989  __Pyx_RefNannyFinishContext();
11990  return __pyx_r;
11991 }
11992 
11993 /* "espressomd/interactions.pyx":745
11994  * return 9
11995  *
11996  * def typeName(self): # <<<<<<<<<<<<<<
11997  * return "VIRTUAL"
11998  *
11999  */
12000 
12001 /* Python wrapper */
12002 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12003 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_3typeName, METH_O, 0};
12004 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12005  PyObject *__pyx_r = 0;
12006  __Pyx_RefNannyDeclarations
12007  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
12008  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
12009 
12010  /* function exit code */
12011  __Pyx_RefNannyFinishContext();
12012  return __pyx_r;
12013 }
12014 
12015 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12016  PyObject *__pyx_r = NULL;
12017  __Pyx_RefNannyDeclarations
12018  __Pyx_RefNannySetupContext("typeName", 0);
12019 
12020  /* "espressomd/interactions.pyx":746
12021  *
12022  * def typeName(self):
12023  * return "VIRTUAL" # <<<<<<<<<<<<<<
12024  *
12025  * def validKeys(self):
12026  */
12027  __Pyx_XDECREF(__pyx_r);
12028  __Pyx_INCREF(__pyx_n_s_VIRTUAL);
12029  __pyx_r = __pyx_n_s_VIRTUAL;
12030  goto __pyx_L0;
12031 
12032  /* "espressomd/interactions.pyx":745
12033  * return 9
12034  *
12035  * def typeName(self): # <<<<<<<<<<<<<<
12036  * return "VIRTUAL"
12037  *
12038  */
12039 
12040  /* function exit code */
12041  __pyx_L0:;
12042  __Pyx_XGIVEREF(__pyx_r);
12043  __Pyx_RefNannyFinishContext();
12044  return __pyx_r;
12045 }
12046 
12047 /* "espressomd/interactions.pyx":748
12048  * return "VIRTUAL"
12049  *
12050  * def validKeys(self): # <<<<<<<<<<<<<<
12051  * return
12052  *
12053  */
12054 
12055 /* Python wrapper */
12056 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12057 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_5validKeys, METH_O, 0};
12058 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12059  PyObject *__pyx_r = 0;
12060  __Pyx_RefNannyDeclarations
12061  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
12062  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12063 
12064  /* function exit code */
12065  __Pyx_RefNannyFinishContext();
12066  return __pyx_r;
12067 }
12068 
12069 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12070  PyObject *__pyx_r = NULL;
12071  __Pyx_RefNannyDeclarations
12072  __Pyx_RefNannySetupContext("validKeys", 0);
12073 
12074  /* "espressomd/interactions.pyx":749
12075  *
12076  * def validKeys(self):
12077  * return # <<<<<<<<<<<<<<
12078  *
12079  * def requiredKeys(self):
12080  */
12081  __Pyx_XDECREF(__pyx_r);
12082  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12083  goto __pyx_L0;
12084 
12085  /* "espressomd/interactions.pyx":748
12086  * return "VIRTUAL"
12087  *
12088  * def validKeys(self): # <<<<<<<<<<<<<<
12089  * return
12090  *
12091  */
12092 
12093  /* function exit code */
12094  __pyx_L0:;
12095  __Pyx_XGIVEREF(__pyx_r);
12096  __Pyx_RefNannyFinishContext();
12097  return __pyx_r;
12098 }
12099 
12100 /* "espressomd/interactions.pyx":751
12101  * return
12102  *
12103  * def requiredKeys(self): # <<<<<<<<<<<<<<
12104  * return
12105  *
12106  */
12107 
12108 /* Python wrapper */
12109 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12110 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_7requiredKeys, METH_O, 0};
12111 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12112  PyObject *__pyx_r = 0;
12113  __Pyx_RefNannyDeclarations
12114  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
12115  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12116 
12117  /* function exit code */
12118  __Pyx_RefNannyFinishContext();
12119  return __pyx_r;
12120 }
12121 
12122 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12123  PyObject *__pyx_r = NULL;
12124  __Pyx_RefNannyDeclarations
12125  __Pyx_RefNannySetupContext("requiredKeys", 0);
12126 
12127  /* "espressomd/interactions.pyx":752
12128  *
12129  * def requiredKeys(self):
12130  * return # <<<<<<<<<<<<<<
12131  *
12132  * def setDefaultParams(self):
12133  */
12134  __Pyx_XDECREF(__pyx_r);
12135  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12136  goto __pyx_L0;
12137 
12138  /* "espressomd/interactions.pyx":751
12139  * return
12140  *
12141  * def requiredKeys(self): # <<<<<<<<<<<<<<
12142  * return
12143  *
12144  */
12145 
12146  /* function exit code */
12147  __pyx_L0:;
12148  __Pyx_XGIVEREF(__pyx_r);
12149  __Pyx_RefNannyFinishContext();
12150  return __pyx_r;
12151 }
12152 
12153 /* "espressomd/interactions.pyx":754
12154  * return
12155  *
12156  * def setDefaultParams(self): # <<<<<<<<<<<<<<
12157  * pass
12158  *
12159  */
12160 
12161 /* Python wrapper */
12162 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12163 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_9setDefaultParams, METH_O, 0};
12164 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12165  PyObject *__pyx_r = 0;
12166  __Pyx_RefNannyDeclarations
12167  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
12168  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
12169 
12170  /* function exit code */
12171  __Pyx_RefNannyFinishContext();
12172  return __pyx_r;
12173 }
12174 
12175 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12176  PyObject *__pyx_r = NULL;
12177  __Pyx_RefNannyDeclarations
12178  __Pyx_RefNannySetupContext("setDefaultParams", 0);
12179 
12180  /* function exit code */
12181  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12182  __Pyx_XGIVEREF(__pyx_r);
12183  __Pyx_RefNannyFinishContext();
12184  return __pyx_r;
12185 }
12186 
12187 /* "espressomd/interactions.pyx":757
12188  * pass
12189  *
12190  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
12191  * pass
12192  *
12193  */
12194 
12195 /* Python wrapper */
12196 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12197 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_11_getParamsFromEsCore, METH_O, 0};
12198 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12199  PyObject *__pyx_r = 0;
12200  __Pyx_RefNannyDeclarations
12201  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
12202  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
12203 
12204  /* function exit code */
12205  __Pyx_RefNannyFinishContext();
12206  return __pyx_r;
12207 }
12208 
12209 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12210  PyObject *__pyx_r = NULL;
12211  __Pyx_RefNannyDeclarations
12212  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
12213 
12214  /* function exit code */
12215  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12216  __Pyx_XGIVEREF(__pyx_r);
12217  __Pyx_RefNannyFinishContext();
12218  return __pyx_r;
12219 }
12220 
12221 /* "espressomd/interactions.pyx":760
12222  * pass
12223  *
12224  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
12225  * virtual_set_params(self._bondId)
12226  *
12227  */
12228 
12229 /* Python wrapper */
12230 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12231 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7Virtual_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_7Virtual_13_setParamsInEsCore, METH_O, 0};
12232 static PyObject *__pyx_pw_10espressomd_12interactions_7Virtual_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12233  PyObject *__pyx_r = 0;
12234  __Pyx_RefNannyDeclarations
12235  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
12236  __pyx_r = __pyx_pf_10espressomd_12interactions_7Virtual_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
12237 
12238  /* function exit code */
12239  __Pyx_RefNannyFinishContext();
12240  return __pyx_r;
12241 }
12242 
12243 static PyObject *__pyx_pf_10espressomd_12interactions_7Virtual_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
12244  PyObject *__pyx_r = NULL;
12245  __Pyx_RefNannyDeclarations
12246  PyObject *__pyx_t_1 = NULL;
12247  int __pyx_t_2;
12248  int __pyx_lineno = 0;
12249  const char *__pyx_filename = NULL;
12250  int __pyx_clineno = 0;
12251  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
12252 
12253  /* "espressomd/interactions.pyx":761
12254  *
12255  * def _setParamsInEsCore(self):
12256  * virtual_set_params(self._bondId) # <<<<<<<<<<<<<<
12257  *
12258  * ELSE:
12259  */
12260  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12261  __Pyx_GOTREF(__pyx_t_1);
12262  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12263  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12264  virtual_set_params(__pyx_t_2);
12265 
12266  /* "espressomd/interactions.pyx":760
12267  * pass
12268  *
12269  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
12270  * virtual_set_params(self._bondId)
12271  *
12272  */
12273 
12274  /* function exit code */
12275  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12276  goto __pyx_L0;
12277  __pyx_L1_error:;
12278  __Pyx_XDECREF(__pyx_t_1);
12279  __Pyx_AddTraceback("espressomd.interactions.Virtual._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
12280  __pyx_r = NULL;
12281  __pyx_L0:;
12282  __Pyx_XGIVEREF(__pyx_r);
12283  __Pyx_RefNannyFinishContext();
12284  return __pyx_r;
12285 }
12286 
12287 /* "espressomd/interactions.pyx":803
12288  * class Overlapped(BondedInteraction):
12289  *
12290  * def typeNumber(self): # <<<<<<<<<<<<<<
12291  * return 12
12292  *
12293  */
12294 
12295 /* Python wrapper */
12296 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12297 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_1typeNumber, METH_O, 0};
12298 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12299  PyObject *__pyx_r = 0;
12300  __Pyx_RefNannyDeclarations
12301  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
12302  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
12303 
12304  /* function exit code */
12305  __Pyx_RefNannyFinishContext();
12306  return __pyx_r;
12307 }
12308 
12309 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12310  PyObject *__pyx_r = NULL;
12311  __Pyx_RefNannyDeclarations
12312  __Pyx_RefNannySetupContext("typeNumber", 0);
12313 
12314  /* "espressomd/interactions.pyx":804
12315  *
12316  * def typeNumber(self):
12317  * return 12 # <<<<<<<<<<<<<<
12318  *
12319  * def typeName(self):
12320  */
12321  __Pyx_XDECREF(__pyx_r);
12322  __Pyx_INCREF(__pyx_int_12);
12323  __pyx_r = __pyx_int_12;
12324  goto __pyx_L0;
12325 
12326  /* "espressomd/interactions.pyx":803
12327  * class Overlapped(BondedInteraction):
12328  *
12329  * def typeNumber(self): # <<<<<<<<<<<<<<
12330  * return 12
12331  *
12332  */
12333 
12334  /* function exit code */
12335  __pyx_L0:;
12336  __Pyx_XGIVEREF(__pyx_r);
12337  __Pyx_RefNannyFinishContext();
12338  return __pyx_r;
12339 }
12340 
12341 /* "espressomd/interactions.pyx":806
12342  * return 12
12343  *
12344  * def typeName(self): # <<<<<<<<<<<<<<
12345  * return "OVERLAPPED"
12346  *
12347  */
12348 
12349 /* Python wrapper */
12350 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12351 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_3typeName, METH_O, 0};
12352 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12353  PyObject *__pyx_r = 0;
12354  __Pyx_RefNannyDeclarations
12355  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
12356  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
12357 
12358  /* function exit code */
12359  __Pyx_RefNannyFinishContext();
12360  return __pyx_r;
12361 }
12362 
12363 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12364  PyObject *__pyx_r = NULL;
12365  __Pyx_RefNannyDeclarations
12366  __Pyx_RefNannySetupContext("typeName", 0);
12367 
12368  /* "espressomd/interactions.pyx":807
12369  *
12370  * def typeName(self):
12371  * return "OVERLAPPED" # <<<<<<<<<<<<<<
12372  *
12373  * def validKeys(self):
12374  */
12375  __Pyx_XDECREF(__pyx_r);
12376  __Pyx_INCREF(__pyx_n_s_OVERLAPPED);
12377  __pyx_r = __pyx_n_s_OVERLAPPED;
12378  goto __pyx_L0;
12379 
12380  /* "espressomd/interactions.pyx":806
12381  * return 12
12382  *
12383  * def typeName(self): # <<<<<<<<<<<<<<
12384  * return "OVERLAPPED"
12385  *
12386  */
12387 
12388  /* function exit code */
12389  __pyx_L0:;
12390  __Pyx_XGIVEREF(__pyx_r);
12391  __Pyx_RefNannyFinishContext();
12392  return __pyx_r;
12393 }
12394 
12395 /* "espressomd/interactions.pyx":809
12396  * return "OVERLAPPED"
12397  *
12398  * def validKeys(self): # <<<<<<<<<<<<<<
12399  * return "overlap_type", "filename"
12400  *
12401  */
12402 
12403 /* Python wrapper */
12404 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12405 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_5validKeys, METH_O, 0};
12406 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12407  PyObject *__pyx_r = 0;
12408  __Pyx_RefNannyDeclarations
12409  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
12410  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12411 
12412  /* function exit code */
12413  __Pyx_RefNannyFinishContext();
12414  return __pyx_r;
12415 }
12416 
12417 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12418  PyObject *__pyx_r = NULL;
12419  __Pyx_RefNannyDeclarations
12420  __Pyx_RefNannySetupContext("validKeys", 0);
12421 
12422  /* "espressomd/interactions.pyx":810
12423  *
12424  * def validKeys(self):
12425  * return "overlap_type", "filename" # <<<<<<<<<<<<<<
12426  *
12427  * def requiredKeys(self):
12428  */
12429  __Pyx_XDECREF(__pyx_r);
12430  __Pyx_INCREF(__pyx_tuple__46);
12431  __pyx_r = __pyx_tuple__46;
12432  goto __pyx_L0;
12433 
12434  /* "espressomd/interactions.pyx":809
12435  * return "OVERLAPPED"
12436  *
12437  * def validKeys(self): # <<<<<<<<<<<<<<
12438  * return "overlap_type", "filename"
12439  *
12440  */
12441 
12442  /* function exit code */
12443  __pyx_L0:;
12444  __Pyx_XGIVEREF(__pyx_r);
12445  __Pyx_RefNannyFinishContext();
12446  return __pyx_r;
12447 }
12448 
12449 /* "espressomd/interactions.pyx":812
12450  * return "overlap_type", "filename"
12451  *
12452  * def requiredKeys(self): # <<<<<<<<<<<<<<
12453  * return "overlap_type", "filename"
12454  *
12455  */
12456 
12457 /* Python wrapper */
12458 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12459 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_7requiredKeys, METH_O, 0};
12460 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12461  PyObject *__pyx_r = 0;
12462  __Pyx_RefNannyDeclarations
12463  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
12464  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12465 
12466  /* function exit code */
12467  __Pyx_RefNannyFinishContext();
12468  return __pyx_r;
12469 }
12470 
12471 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12472  PyObject *__pyx_r = NULL;
12473  __Pyx_RefNannyDeclarations
12474  __Pyx_RefNannySetupContext("requiredKeys", 0);
12475 
12476  /* "espressomd/interactions.pyx":813
12477  *
12478  * def requiredKeys(self):
12479  * return "overlap_type", "filename" # <<<<<<<<<<<<<<
12480  *
12481  * def setDefaultParams(self):
12482  */
12483  __Pyx_XDECREF(__pyx_r);
12484  __Pyx_INCREF(__pyx_tuple__47);
12485  __pyx_r = __pyx_tuple__47;
12486  goto __pyx_L0;
12487 
12488  /* "espressomd/interactions.pyx":812
12489  * return "overlap_type", "filename"
12490  *
12491  * def requiredKeys(self): # <<<<<<<<<<<<<<
12492  * return "overlap_type", "filename"
12493  *
12494  */
12495 
12496  /* function exit code */
12497  __pyx_L0:;
12498  __Pyx_XGIVEREF(__pyx_r);
12499  __Pyx_RefNannyFinishContext();
12500  return __pyx_r;
12501 }
12502 
12503 /* "espressomd/interactions.pyx":815
12504  * return "overlap_type", "filename"
12505  *
12506  * def setDefaultParams(self): # <<<<<<<<<<<<<<
12507  * self._params = {"overlap_type": 0, "filename": ""}
12508  *
12509  */
12510 
12511 /* Python wrapper */
12512 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12513 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_9setDefaultParams, METH_O, 0};
12514 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12515  PyObject *__pyx_r = 0;
12516  __Pyx_RefNannyDeclarations
12517  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
12518  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
12519 
12520  /* function exit code */
12521  __Pyx_RefNannyFinishContext();
12522  return __pyx_r;
12523 }
12524 
12525 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
12526  PyObject *__pyx_r = NULL;
12527  __Pyx_RefNannyDeclarations
12528  PyObject *__pyx_t_1 = NULL;
12529  int __pyx_lineno = 0;
12530  const char *__pyx_filename = NULL;
12531  int __pyx_clineno = 0;
12532  __Pyx_RefNannySetupContext("setDefaultParams", 0);
12533 
12534  /* "espressomd/interactions.pyx":816
12535  *
12536  * def setDefaultParams(self):
12537  * self._params = {"overlap_type": 0, "filename": ""} # <<<<<<<<<<<<<<
12538  *
12539  * def _getParamsFromEsCore(self):
12540  */
12541  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12542  __Pyx_GOTREF(__pyx_t_1);
12543  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_overlap_type, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12544  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_kp_s__43) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12545  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12546  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12547 
12548  /* "espressomd/interactions.pyx":815
12549  * return "overlap_type", "filename"
12550  *
12551  * def setDefaultParams(self): # <<<<<<<<<<<<<<
12552  * self._params = {"overlap_type": 0, "filename": ""}
12553  *
12554  */
12555 
12556  /* function exit code */
12557  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12558  goto __pyx_L0;
12559  __pyx_L1_error:;
12560  __Pyx_XDECREF(__pyx_t_1);
12561  __Pyx_AddTraceback("espressomd.interactions.Overlapped.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
12562  __pyx_r = NULL;
12563  __pyx_L0:;
12564  __Pyx_XGIVEREF(__pyx_r);
12565  __Pyx_RefNannyFinishContext();
12566  return __pyx_r;
12567 }
12568 
12569 /* "espressomd/interactions.pyx":818
12570  * self._params = {"overlap_type": 0, "filename": ""}
12571  *
12572  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
12573  * return \
12574  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
12575  */
12576 
12577 /* Python wrapper */
12578 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12579 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_11_getParamsFromEsCore, METH_O, 0};
12580 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12581  PyObject *__pyx_r = 0;
12582  __Pyx_RefNannyDeclarations
12583  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
12584  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
12585 
12586  /* function exit code */
12587  __Pyx_RefNannyFinishContext();
12588  return __pyx_r;
12589 }
12590 
12591 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
12592  PyObject *__pyx_r = NULL;
12593  __Pyx_RefNannyDeclarations
12594  PyObject *__pyx_t_1 = NULL;
12595  PyObject *__pyx_t_2 = NULL;
12596  Py_ssize_t __pyx_t_3;
12597  int __pyx_lineno = 0;
12598  const char *__pyx_filename = NULL;
12599  int __pyx_clineno = 0;
12600  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
12601 
12602  /* "espressomd/interactions.pyx":819
12603  *
12604  * def _getParamsFromEsCore(self):
12605  * return \ # <<<<<<<<<<<<<<
12606  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
12607  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
12608  */
12609  __Pyx_XDECREF(__pyx_r);
12610 
12611  /* "espressomd/interactions.pyx":820
12612  * def _getParamsFromEsCore(self):
12613  * return \
12614  * {"bend": bonded_ia_params[self._bondId].p.overlap.type, # <<<<<<<<<<<<<<
12615  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
12616  *
12617  */
12618  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12619  __Pyx_GOTREF(__pyx_t_1);
12620  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12621  __Pyx_GOTREF(__pyx_t_2);
12622  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12623  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
12624  __pyx_t_2 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_3]).p.overlap.type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12625  __Pyx_GOTREF(__pyx_t_2);
12626  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12627  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
12628 
12629  /* "espressomd/interactions.pyx":821
12630  * return \
12631  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
12632  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename} # <<<<<<<<<<<<<<
12633  *
12634  * def _setParamsInEsCore(self):
12635  */
12636  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12637  __Pyx_GOTREF(__pyx_t_2);
12638  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12639  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
12640  __pyx_t_2 = __Pyx_PyBytes_FromString((bonded_ia_params[__pyx_t_3]).p.overlap.filename); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12641  __Pyx_GOTREF(__pyx_t_2);
12642  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12643  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
12644  __pyx_r = __pyx_t_1;
12645  __pyx_t_1 = 0;
12646  goto __pyx_L0;
12647 
12648  /* "espressomd/interactions.pyx":818
12649  * self._params = {"overlap_type": 0, "filename": ""}
12650  *
12651  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
12652  * return \
12653  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
12654  */
12655 
12656  /* function exit code */
12657  __pyx_L1_error:;
12658  __Pyx_XDECREF(__pyx_t_1);
12659  __Pyx_XDECREF(__pyx_t_2);
12660  __Pyx_AddTraceback("espressomd.interactions.Overlapped._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
12661  __pyx_r = NULL;
12662  __pyx_L0:;
12663  __Pyx_XGIVEREF(__pyx_r);
12664  __Pyx_RefNannyFinishContext();
12665  return __pyx_r;
12666 }
12667 
12668 /* "espressomd/interactions.pyx":823
12669  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
12670  *
12671  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
12672  * overlapped_bonded_set_params(
12673  * self._bondId, self._params["overlap_type"], self._params["filename"])
12674  */
12675 
12676 /* Python wrapper */
12677 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12678 static PyMethodDef __pyx_mdef_10espressomd_12interactions_10Overlapped_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_10Overlapped_13_setParamsInEsCore, METH_O, 0};
12679 static PyObject *__pyx_pw_10espressomd_12interactions_10Overlapped_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12680  PyObject *__pyx_r = 0;
12681  __Pyx_RefNannyDeclarations
12682  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
12683  __pyx_r = __pyx_pf_10espressomd_12interactions_10Overlapped_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
12684 
12685  /* function exit code */
12686  __Pyx_RefNannyFinishContext();
12687  return __pyx_r;
12688 }
12689 
12690 static PyObject *__pyx_pf_10espressomd_12interactions_10Overlapped_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
12691  PyObject *__pyx_r = NULL;
12692  __Pyx_RefNannyDeclarations
12693  PyObject *__pyx_t_1 = NULL;
12694  int __pyx_t_2;
12695  PyObject *__pyx_t_3 = NULL;
12696  enum OverlappedBondedInteraction __pyx_t_4;
12697  char *__pyx_t_5;
12698  int __pyx_lineno = 0;
12699  const char *__pyx_filename = NULL;
12700  int __pyx_clineno = 0;
12701  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
12702 
12703  /* "espressomd/interactions.pyx":825
12704  * def _setParamsInEsCore(self):
12705  * overlapped_bonded_set_params(
12706  * self._bondId, self._params["overlap_type"], self._params["filename"]) # <<<<<<<<<<<<<<
12707  *
12708  * ELSE:
12709  */
12710  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12711  __Pyx_GOTREF(__pyx_t_1);
12712  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12713  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12714  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12715  __Pyx_GOTREF(__pyx_t_1);
12716  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_overlap_type); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
12717  __Pyx_GOTREF(__pyx_t_3);
12718  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12719  __pyx_t_4 = ((enum OverlappedBondedInteraction)PyInt_AsLong(__pyx_t_3)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12720  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12721  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12722  __Pyx_GOTREF(__pyx_t_3);
12723  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_filename); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
12724  __Pyx_GOTREF(__pyx_t_1);
12725  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12726  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_t_1); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
12727 
12728  /* "espressomd/interactions.pyx":824
12729  *
12730  * def _setParamsInEsCore(self):
12731  * overlapped_bonded_set_params( # <<<<<<<<<<<<<<
12732  * self._bondId, self._params["overlap_type"], self._params["filename"])
12733  *
12734  */
12735  overlapped_bonded_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
12736  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12737 
12738  /* "espressomd/interactions.pyx":823
12739  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
12740  *
12741  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
12742  * overlapped_bonded_set_params(
12743  * self._bondId, self._params["overlap_type"], self._params["filename"])
12744  */
12745 
12746  /* function exit code */
12747  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
12748  goto __pyx_L0;
12749  __pyx_L1_error:;
12750  __Pyx_XDECREF(__pyx_t_1);
12751  __Pyx_XDECREF(__pyx_t_3);
12752  __Pyx_AddTraceback("espressomd.interactions.Overlapped._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
12753  __pyx_r = NULL;
12754  __pyx_L0:;
12755  __Pyx_XGIVEREF(__pyx_r);
12756  __Pyx_RefNannyFinishContext();
12757  return __pyx_r;
12758 }
12759 
12760 /* "espressomd/interactions.pyx":834
12761  * class Angle_Harmonic(BondedInteraction):
12762  *
12763  * def typeNumber(self): # <<<<<<<<<<<<<<
12764  * return 13
12765  *
12766  */
12767 
12768 /* Python wrapper */
12769 static PyObject *__pyx_pw_10espressomd_12interactions_14Angle_Harmonic_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12770 static PyMethodDef __pyx_mdef_10espressomd_12interactions_14Angle_Harmonic_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_14Angle_Harmonic_1typeNumber, METH_O, 0};
12771 static PyObject *__pyx_pw_10espressomd_12interactions_14Angle_Harmonic_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12772  PyObject *__pyx_r = 0;
12773  __Pyx_RefNannyDeclarations
12774  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
12775  __pyx_r = __pyx_pf_10espressomd_12interactions_14Angle_Harmonic_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
12776 
12777  /* function exit code */
12778  __Pyx_RefNannyFinishContext();
12779  return __pyx_r;
12780 }
12781 
12782 static PyObject *__pyx_pf_10espressomd_12interactions_14Angle_Harmonic_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12783  PyObject *__pyx_r = NULL;
12784  __Pyx_RefNannyDeclarations
12785  __Pyx_RefNannySetupContext("typeNumber", 0);
12786 
12787  /* "espressomd/interactions.pyx":835
12788  *
12789  * def typeNumber(self):
12790  * return 13 # <<<<<<<<<<<<<<
12791  *
12792  * def typeName(self):
12793  */
12794  __Pyx_XDECREF(__pyx_r);
12795  __Pyx_INCREF(__pyx_int_13);
12796  __pyx_r = __pyx_int_13;
12797  goto __pyx_L0;
12798 
12799  /* "espressomd/interactions.pyx":834
12800  * class Angle_Harmonic(BondedInteraction):
12801  *
12802  * def typeNumber(self): # <<<<<<<<<<<<<<
12803  * return 13
12804  *
12805  */
12806 
12807  /* function exit code */
12808  __pyx_L0:;
12809  __Pyx_XGIVEREF(__pyx_r);
12810  __Pyx_RefNannyFinishContext();
12811  return __pyx_r;
12812 }
12813 
12814 /* "espressomd/interactions.pyx":837
12815  * return 13
12816  *
12817  * def typeName(self): # <<<<<<<<<<<<<<
12818  * return "ANGLE_HARMONIC"
12819  *
12820  */
12821 
12822 /* Python wrapper */
12823 static PyObject *__pyx_pw_10espressomd_12interactions_1typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12824 static PyMethodDef __pyx_mdef_10espressomd_12interactions_1typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_1typeName, METH_O, 0};
12825 static PyObject *__pyx_pw_10espressomd_12interactions_1typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12826  PyObject *__pyx_r = 0;
12827  __Pyx_RefNannyDeclarations
12828  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
12829  __pyx_r = __pyx_pf_10espressomd_12interactions_typeName(__pyx_self, ((PyObject *)__pyx_v_self));
12830 
12831  /* function exit code */
12832  __Pyx_RefNannyFinishContext();
12833  return __pyx_r;
12834 }
12835 
12836 static PyObject *__pyx_pf_10espressomd_12interactions_typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12837  PyObject *__pyx_r = NULL;
12838  __Pyx_RefNannyDeclarations
12839  __Pyx_RefNannySetupContext("typeName", 0);
12840 
12841  /* "espressomd/interactions.pyx":838
12842  *
12843  * def typeName(self):
12844  * return "ANGLE_HARMONIC" # <<<<<<<<<<<<<<
12845  *
12846  * def validKeys(self):
12847  */
12848  __Pyx_XDECREF(__pyx_r);
12849  __Pyx_INCREF(__pyx_n_s_ANGLE_HARMONIC);
12850  __pyx_r = __pyx_n_s_ANGLE_HARMONIC;
12851  goto __pyx_L0;
12852 
12853  /* "espressomd/interactions.pyx":837
12854  * return 13
12855  *
12856  * def typeName(self): # <<<<<<<<<<<<<<
12857  * return "ANGLE_HARMONIC"
12858  *
12859  */
12860 
12861  /* function exit code */
12862  __pyx_L0:;
12863  __Pyx_XGIVEREF(__pyx_r);
12864  __Pyx_RefNannyFinishContext();
12865  return __pyx_r;
12866 }
12867 
12868 /* "espressomd/interactions.pyx":840
12869  * return "ANGLE_HARMONIC"
12870  *
12871  * def validKeys(self): # <<<<<<<<<<<<<<
12872  * return "bend", "phi0"
12873  *
12874  */
12875 
12876 /* Python wrapper */
12877 static PyObject *__pyx_pw_10espressomd_12interactions_3validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12878 static PyMethodDef __pyx_mdef_10espressomd_12interactions_3validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_3validKeys, METH_O, 0};
12879 static PyObject *__pyx_pw_10espressomd_12interactions_3validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12880  PyObject *__pyx_r = 0;
12881  __Pyx_RefNannyDeclarations
12882  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
12883  __pyx_r = __pyx_pf_10espressomd_12interactions_2validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12884 
12885  /* function exit code */
12886  __Pyx_RefNannyFinishContext();
12887  return __pyx_r;
12888 }
12889 
12890 static PyObject *__pyx_pf_10espressomd_12interactions_2validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12891  PyObject *__pyx_r = NULL;
12892  __Pyx_RefNannyDeclarations
12893  __Pyx_RefNannySetupContext("validKeys", 0);
12894 
12895  /* "espressomd/interactions.pyx":841
12896  *
12897  * def validKeys(self):
12898  * return "bend", "phi0" # <<<<<<<<<<<<<<
12899  *
12900  * def requiredKeys(self):
12901  */
12902  __Pyx_XDECREF(__pyx_r);
12903  __Pyx_INCREF(__pyx_tuple__48);
12904  __pyx_r = __pyx_tuple__48;
12905  goto __pyx_L0;
12906 
12907  /* "espressomd/interactions.pyx":840
12908  * return "ANGLE_HARMONIC"
12909  *
12910  * def validKeys(self): # <<<<<<<<<<<<<<
12911  * return "bend", "phi0"
12912  *
12913  */
12914 
12915  /* function exit code */
12916  __pyx_L0:;
12917  __Pyx_XGIVEREF(__pyx_r);
12918  __Pyx_RefNannyFinishContext();
12919  return __pyx_r;
12920 }
12921 
12922 /* "espressomd/interactions.pyx":843
12923  * return "bend", "phi0"
12924  *
12925  * def requiredKeys(self): # <<<<<<<<<<<<<<
12926  * return "bend", "phi0"
12927  *
12928  */
12929 
12930 /* Python wrapper */
12931 static PyObject *__pyx_pw_10espressomd_12interactions_5requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12932 static PyMethodDef __pyx_mdef_10espressomd_12interactions_5requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_5requiredKeys, METH_O, 0};
12933 static PyObject *__pyx_pw_10espressomd_12interactions_5requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12934  PyObject *__pyx_r = 0;
12935  __Pyx_RefNannyDeclarations
12936  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
12937  __pyx_r = __pyx_pf_10espressomd_12interactions_4requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
12938 
12939  /* function exit code */
12940  __Pyx_RefNannyFinishContext();
12941  return __pyx_r;
12942 }
12943 
12944 static PyObject *__pyx_pf_10espressomd_12interactions_4requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
12945  PyObject *__pyx_r = NULL;
12946  __Pyx_RefNannyDeclarations
12947  __Pyx_RefNannySetupContext("requiredKeys", 0);
12948 
12949  /* "espressomd/interactions.pyx":844
12950  *
12951  * def requiredKeys(self):
12952  * return "bend", "phi0" # <<<<<<<<<<<<<<
12953  *
12954  * def setDefaultParams(self):
12955  */
12956  __Pyx_XDECREF(__pyx_r);
12957  __Pyx_INCREF(__pyx_tuple__49);
12958  __pyx_r = __pyx_tuple__49;
12959  goto __pyx_L0;
12960 
12961  /* "espressomd/interactions.pyx":843
12962  * return "bend", "phi0"
12963  *
12964  * def requiredKeys(self): # <<<<<<<<<<<<<<
12965  * return "bend", "phi0"
12966  *
12967  */
12968 
12969  /* function exit code */
12970  __pyx_L0:;
12971  __Pyx_XGIVEREF(__pyx_r);
12972  __Pyx_RefNannyFinishContext();
12973  return __pyx_r;
12974 }
12975 
12976 /* "espressomd/interactions.pyx":846
12977  * return "bend", "phi0"
12978  *
12979  * def setDefaultParams(self): # <<<<<<<<<<<<<<
12980  * self._params = {"bend": 0, "phi0": 0}
12981  *
12982  */
12983 
12984 /* Python wrapper */
12985 static PyObject *__pyx_pw_10espressomd_12interactions_7setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
12986 static PyMethodDef __pyx_mdef_10espressomd_12interactions_7setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_7setDefaultParams, METH_O, 0};
12987 static PyObject *__pyx_pw_10espressomd_12interactions_7setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
12988  PyObject *__pyx_r = 0;
12989  __Pyx_RefNannyDeclarations
12990  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
12991  __pyx_r = __pyx_pf_10espressomd_12interactions_6setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
12992 
12993  /* function exit code */
12994  __Pyx_RefNannyFinishContext();
12995  return __pyx_r;
12996 }
12997 
12998 static PyObject *__pyx_pf_10espressomd_12interactions_6setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
12999  PyObject *__pyx_r = NULL;
13000  __Pyx_RefNannyDeclarations
13001  PyObject *__pyx_t_1 = NULL;
13002  int __pyx_lineno = 0;
13003  const char *__pyx_filename = NULL;
13004  int __pyx_clineno = 0;
13005  __Pyx_RefNannySetupContext("setDefaultParams", 0);
13006 
13007  /* "espressomd/interactions.pyx":847
13008  *
13009  * def setDefaultParams(self):
13010  * self._params = {"bend": 0, "phi0": 0} # <<<<<<<<<<<<<<
13011  *
13012  * def _getParamsFromEsCore(self):
13013  */
13014  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13015  __Pyx_GOTREF(__pyx_t_1);
13016  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13017  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13018  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13019  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13020 
13021  /* "espressomd/interactions.pyx":846
13022  * return "bend", "phi0"
13023  *
13024  * def setDefaultParams(self): # <<<<<<<<<<<<<<
13025  * self._params = {"bend": 0, "phi0": 0}
13026  *
13027  */
13028 
13029  /* function exit code */
13030  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13031  goto __pyx_L0;
13032  __pyx_L1_error:;
13033  __Pyx_XDECREF(__pyx_t_1);
13034  __Pyx_AddTraceback("espressomd.interactions.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
13035  __pyx_r = NULL;
13036  __pyx_L0:;
13037  __Pyx_XGIVEREF(__pyx_r);
13038  __Pyx_RefNannyFinishContext();
13039  return __pyx_r;
13040 }
13041 
13042 /* "espressomd/interactions.pyx":849
13043  * self._params = {"bend": 0, "phi0": 0}
13044  *
13045  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
13046  * return \
13047  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
13048  */
13049 
13050 /* Python wrapper */
13051 static PyObject *__pyx_pw_10espressomd_12interactions_9_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13052 static PyMethodDef __pyx_mdef_10espressomd_12interactions_9_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_9_getParamsFromEsCore, METH_O, 0};
13053 static PyObject *__pyx_pw_10espressomd_12interactions_9_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13054  PyObject *__pyx_r = 0;
13055  __Pyx_RefNannyDeclarations
13056  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
13057  __pyx_r = __pyx_pf_10espressomd_12interactions_8_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
13058 
13059  /* function exit code */
13060  __Pyx_RefNannyFinishContext();
13061  return __pyx_r;
13062 }
13063 
13064 static PyObject *__pyx_pf_10espressomd_12interactions_8_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13065  PyObject *__pyx_r = NULL;
13066  __Pyx_RefNannyDeclarations
13067  PyObject *__pyx_t_1 = NULL;
13068  PyObject *__pyx_t_2 = NULL;
13069  Py_ssize_t __pyx_t_3;
13070  int __pyx_lineno = 0;
13071  const char *__pyx_filename = NULL;
13072  int __pyx_clineno = 0;
13073  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
13074 
13075  /* "espressomd/interactions.pyx":850
13076  *
13077  * def _getParamsFromEsCore(self):
13078  * return \ # <<<<<<<<<<<<<<
13079  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
13080  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
13081  */
13082  __Pyx_XDECREF(__pyx_r);
13083 
13084  /* "espressomd/interactions.pyx":851
13085  * def _getParamsFromEsCore(self):
13086  * return \
13087  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend, # <<<<<<<<<<<<<<
13088  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
13089  *
13090  */
13091  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13092  __Pyx_GOTREF(__pyx_t_1);
13093  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13094  __Pyx_GOTREF(__pyx_t_2);
13095  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13096  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13097  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_harmonic.bend); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13098  __Pyx_GOTREF(__pyx_t_2);
13099  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13100  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13101 
13102  /* "espressomd/interactions.pyx":852
13103  * return \
13104  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
13105  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0} # <<<<<<<<<<<<<<
13106  *
13107  * def _setParamsInEsCore(self):
13108  */
13109  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13110  __Pyx_GOTREF(__pyx_t_2);
13111  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13112  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13113  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_harmonic.phi0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13114  __Pyx_GOTREF(__pyx_t_2);
13115  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13116  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13117  __pyx_r = __pyx_t_1;
13118  __pyx_t_1 = 0;
13119  goto __pyx_L0;
13120 
13121  /* "espressomd/interactions.pyx":849
13122  * self._params = {"bend": 0, "phi0": 0}
13123  *
13124  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
13125  * return \
13126  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
13127  */
13128 
13129  /* function exit code */
13130  __pyx_L1_error:;
13131  __Pyx_XDECREF(__pyx_t_1);
13132  __Pyx_XDECREF(__pyx_t_2);
13133  __Pyx_AddTraceback("espressomd.interactions._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
13134  __pyx_r = NULL;
13135  __pyx_L0:;
13136  __Pyx_XGIVEREF(__pyx_r);
13137  __Pyx_RefNannyFinishContext();
13138  return __pyx_r;
13139 }
13140 
13141 /* "espressomd/interactions.pyx":854
13142  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
13143  *
13144  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
13145  * angle_harmonic_set_params(
13146  * self._bondId, self._params["bend"], self._params["phi0"])
13147  */
13148 
13149 /* Python wrapper */
13150 static PyObject *__pyx_pw_10espressomd_12interactions_11_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13151 static PyMethodDef __pyx_mdef_10espressomd_12interactions_11_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_11_setParamsInEsCore, METH_O, 0};
13152 static PyObject *__pyx_pw_10espressomd_12interactions_11_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13153  PyObject *__pyx_r = 0;
13154  __Pyx_RefNannyDeclarations
13155  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
13156  __pyx_r = __pyx_pf_10espressomd_12interactions_10_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
13157 
13158  /* function exit code */
13159  __Pyx_RefNannyFinishContext();
13160  return __pyx_r;
13161 }
13162 
13163 static PyObject *__pyx_pf_10espressomd_12interactions_10_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13164  PyObject *__pyx_r = NULL;
13165  __Pyx_RefNannyDeclarations
13166  PyObject *__pyx_t_1 = NULL;
13167  int __pyx_t_2;
13168  PyObject *__pyx_t_3 = NULL;
13169  double __pyx_t_4;
13170  double __pyx_t_5;
13171  int __pyx_lineno = 0;
13172  const char *__pyx_filename = NULL;
13173  int __pyx_clineno = 0;
13174  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
13175 
13176  /* "espressomd/interactions.pyx":856
13177  * def _setParamsInEsCore(self):
13178  * angle_harmonic_set_params(
13179  * self._bondId, self._params["bend"], self._params["phi0"]) # <<<<<<<<<<<<<<
13180  * ELSE:
13181  * class Angle_Harmonic(BondedInteractionNotDefined):
13182  */
13183  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13184  __Pyx_GOTREF(__pyx_t_1);
13185  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13186  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13187  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13188  __Pyx_GOTREF(__pyx_t_1);
13189  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_bend); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
13190  __Pyx_GOTREF(__pyx_t_3);
13191  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13192  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13193  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13194  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13195  __Pyx_GOTREF(__pyx_t_3);
13196  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_phi0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
13197  __Pyx_GOTREF(__pyx_t_1);
13198  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13199  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13200  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13201 
13202  /* "espressomd/interactions.pyx":855
13203  *
13204  * def _setParamsInEsCore(self):
13205  * angle_harmonic_set_params( # <<<<<<<<<<<<<<
13206  * self._bondId, self._params["bend"], self._params["phi0"])
13207  * ELSE:
13208  */
13209  angle_harmonic_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
13210 
13211  /* "espressomd/interactions.pyx":854
13212  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
13213  *
13214  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
13215  * angle_harmonic_set_params(
13216  * self._bondId, self._params["bend"], self._params["phi0"])
13217  */
13218 
13219  /* function exit code */
13220  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13221  goto __pyx_L0;
13222  __pyx_L1_error:;
13223  __Pyx_XDECREF(__pyx_t_1);
13224  __Pyx_XDECREF(__pyx_t_3);
13225  __Pyx_AddTraceback("espressomd.interactions._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
13226  __pyx_r = NULL;
13227  __pyx_L0:;
13228  __Pyx_XGIVEREF(__pyx_r);
13229  __Pyx_RefNannyFinishContext();
13230  return __pyx_r;
13231 }
13232 
13233 /* "espressomd/interactions.pyx":864
13234  * class Angle_Cosine(BondedInteraction):
13235  *
13236  * def typeNumber(self): # <<<<<<<<<<<<<<
13237  * return 14
13238  *
13239  */
13240 
13241 /* Python wrapper */
13242 static PyObject *__pyx_pw_10espressomd_12interactions_12Angle_Cosine_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13243 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Angle_Cosine_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Angle_Cosine_1typeNumber, METH_O, 0};
13244 static PyObject *__pyx_pw_10espressomd_12interactions_12Angle_Cosine_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13245  PyObject *__pyx_r = 0;
13246  __Pyx_RefNannyDeclarations
13247  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
13248  __pyx_r = __pyx_pf_10espressomd_12interactions_12Angle_Cosine_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
13249 
13250  /* function exit code */
13251  __Pyx_RefNannyFinishContext();
13252  return __pyx_r;
13253 }
13254 
13255 static PyObject *__pyx_pf_10espressomd_12interactions_12Angle_Cosine_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13256  PyObject *__pyx_r = NULL;
13257  __Pyx_RefNannyDeclarations
13258  __Pyx_RefNannySetupContext("typeNumber", 0);
13259 
13260  /* "espressomd/interactions.pyx":865
13261  *
13262  * def typeNumber(self):
13263  * return 14 # <<<<<<<<<<<<<<
13264  *
13265  * def typeName(self):
13266  */
13267  __Pyx_XDECREF(__pyx_r);
13268  __Pyx_INCREF(__pyx_int_14);
13269  __pyx_r = __pyx_int_14;
13270  goto __pyx_L0;
13271 
13272  /* "espressomd/interactions.pyx":864
13273  * class Angle_Cosine(BondedInteraction):
13274  *
13275  * def typeNumber(self): # <<<<<<<<<<<<<<
13276  * return 14
13277  *
13278  */
13279 
13280  /* function exit code */
13281  __pyx_L0:;
13282  __Pyx_XGIVEREF(__pyx_r);
13283  __Pyx_RefNannyFinishContext();
13284  return __pyx_r;
13285 }
13286 
13287 /* "espressomd/interactions.pyx":867
13288  * return 14
13289  *
13290  * def typeName(self): # <<<<<<<<<<<<<<
13291  * return "ANGLE_COSINE"
13292  *
13293  */
13294 
13295 /* Python wrapper */
13296 static PyObject *__pyx_pw_10espressomd_12interactions_13typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13297 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_13typeName, METH_O, 0};
13298 static PyObject *__pyx_pw_10espressomd_12interactions_13typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13299  PyObject *__pyx_r = 0;
13300  __Pyx_RefNannyDeclarations
13301  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
13302  __pyx_r = __pyx_pf_10espressomd_12interactions_12typeName(__pyx_self, ((PyObject *)__pyx_v_self));
13303 
13304  /* function exit code */
13305  __Pyx_RefNannyFinishContext();
13306  return __pyx_r;
13307 }
13308 
13309 static PyObject *__pyx_pf_10espressomd_12interactions_12typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13310  PyObject *__pyx_r = NULL;
13311  __Pyx_RefNannyDeclarations
13312  __Pyx_RefNannySetupContext("typeName", 0);
13313 
13314  /* "espressomd/interactions.pyx":868
13315  *
13316  * def typeName(self):
13317  * return "ANGLE_COSINE" # <<<<<<<<<<<<<<
13318  *
13319  * def validKeys(self):
13320  */
13321  __Pyx_XDECREF(__pyx_r);
13322  __Pyx_INCREF(__pyx_n_s_ANGLE_COSINE);
13323  __pyx_r = __pyx_n_s_ANGLE_COSINE;
13324  goto __pyx_L0;
13325 
13326  /* "espressomd/interactions.pyx":867
13327  * return 14
13328  *
13329  * def typeName(self): # <<<<<<<<<<<<<<
13330  * return "ANGLE_COSINE"
13331  *
13332  */
13333 
13334  /* function exit code */
13335  __pyx_L0:;
13336  __Pyx_XGIVEREF(__pyx_r);
13337  __Pyx_RefNannyFinishContext();
13338  return __pyx_r;
13339 }
13340 
13341 /* "espressomd/interactions.pyx":870
13342  * return "ANGLE_COSINE"
13343  *
13344  * def validKeys(self): # <<<<<<<<<<<<<<
13345  * return "bend", "phi0"
13346  *
13347  */
13348 
13349 /* Python wrapper */
13350 static PyObject *__pyx_pw_10espressomd_12interactions_15validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13351 static PyMethodDef __pyx_mdef_10espressomd_12interactions_15validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_15validKeys, METH_O, 0};
13352 static PyObject *__pyx_pw_10espressomd_12interactions_15validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13353  PyObject *__pyx_r = 0;
13354  __Pyx_RefNannyDeclarations
13355  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
13356  __pyx_r = __pyx_pf_10espressomd_12interactions_14validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
13357 
13358  /* function exit code */
13359  __Pyx_RefNannyFinishContext();
13360  return __pyx_r;
13361 }
13362 
13363 static PyObject *__pyx_pf_10espressomd_12interactions_14validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13364  PyObject *__pyx_r = NULL;
13365  __Pyx_RefNannyDeclarations
13366  __Pyx_RefNannySetupContext("validKeys", 0);
13367 
13368  /* "espressomd/interactions.pyx":871
13369  *
13370  * def validKeys(self):
13371  * return "bend", "phi0" # <<<<<<<<<<<<<<
13372  *
13373  * def requiredKeys(self):
13374  */
13375  __Pyx_XDECREF(__pyx_r);
13376  __Pyx_INCREF(__pyx_tuple__50);
13377  __pyx_r = __pyx_tuple__50;
13378  goto __pyx_L0;
13379 
13380  /* "espressomd/interactions.pyx":870
13381  * return "ANGLE_COSINE"
13382  *
13383  * def validKeys(self): # <<<<<<<<<<<<<<
13384  * return "bend", "phi0"
13385  *
13386  */
13387 
13388  /* function exit code */
13389  __pyx_L0:;
13390  __Pyx_XGIVEREF(__pyx_r);
13391  __Pyx_RefNannyFinishContext();
13392  return __pyx_r;
13393 }
13394 
13395 /* "espressomd/interactions.pyx":873
13396  * return "bend", "phi0"
13397  *
13398  * def requiredKeys(self): # <<<<<<<<<<<<<<
13399  * return "bend", "phi0"
13400  *
13401  */
13402 
13403 /* Python wrapper */
13404 static PyObject *__pyx_pw_10espressomd_12interactions_17requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13405 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_17requiredKeys, METH_O, 0};
13406 static PyObject *__pyx_pw_10espressomd_12interactions_17requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13407  PyObject *__pyx_r = 0;
13408  __Pyx_RefNannyDeclarations
13409  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
13410  __pyx_r = __pyx_pf_10espressomd_12interactions_16requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
13411 
13412  /* function exit code */
13413  __Pyx_RefNannyFinishContext();
13414  return __pyx_r;
13415 }
13416 
13417 static PyObject *__pyx_pf_10espressomd_12interactions_16requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13418  PyObject *__pyx_r = NULL;
13419  __Pyx_RefNannyDeclarations
13420  __Pyx_RefNannySetupContext("requiredKeys", 0);
13421 
13422  /* "espressomd/interactions.pyx":874
13423  *
13424  * def requiredKeys(self):
13425  * return "bend", "phi0" # <<<<<<<<<<<<<<
13426  *
13427  * def setDefaultParams(self):
13428  */
13429  __Pyx_XDECREF(__pyx_r);
13430  __Pyx_INCREF(__pyx_tuple__51);
13431  __pyx_r = __pyx_tuple__51;
13432  goto __pyx_L0;
13433 
13434  /* "espressomd/interactions.pyx":873
13435  * return "bend", "phi0"
13436  *
13437  * def requiredKeys(self): # <<<<<<<<<<<<<<
13438  * return "bend", "phi0"
13439  *
13440  */
13441 
13442  /* function exit code */
13443  __pyx_L0:;
13444  __Pyx_XGIVEREF(__pyx_r);
13445  __Pyx_RefNannyFinishContext();
13446  return __pyx_r;
13447 }
13448 
13449 /* "espressomd/interactions.pyx":876
13450  * return "bend", "phi0"
13451  *
13452  * def setDefaultParams(self): # <<<<<<<<<<<<<<
13453  * self._params = {"bend": 0, "phi0": 0}
13454  *
13455  */
13456 
13457 /* Python wrapper */
13458 static PyObject *__pyx_pw_10espressomd_12interactions_19setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13459 static PyMethodDef __pyx_mdef_10espressomd_12interactions_19setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_19setDefaultParams, METH_O, 0};
13460 static PyObject *__pyx_pw_10espressomd_12interactions_19setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13461  PyObject *__pyx_r = 0;
13462  __Pyx_RefNannyDeclarations
13463  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
13464  __pyx_r = __pyx_pf_10espressomd_12interactions_18setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
13465 
13466  /* function exit code */
13467  __Pyx_RefNannyFinishContext();
13468  return __pyx_r;
13469 }
13470 
13471 static PyObject *__pyx_pf_10espressomd_12interactions_18setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13472  PyObject *__pyx_r = NULL;
13473  __Pyx_RefNannyDeclarations
13474  PyObject *__pyx_t_1 = NULL;
13475  int __pyx_lineno = 0;
13476  const char *__pyx_filename = NULL;
13477  int __pyx_clineno = 0;
13478  __Pyx_RefNannySetupContext("setDefaultParams", 0);
13479 
13480  /* "espressomd/interactions.pyx":877
13481  *
13482  * def setDefaultParams(self):
13483  * self._params = {"bend": 0, "phi0": 0} # <<<<<<<<<<<<<<
13484  *
13485  * def _getParamsFromEsCore(self):
13486  */
13487  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13488  __Pyx_GOTREF(__pyx_t_1);
13489  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13490  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13491  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13492  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13493 
13494  /* "espressomd/interactions.pyx":876
13495  * return "bend", "phi0"
13496  *
13497  * def setDefaultParams(self): # <<<<<<<<<<<<<<
13498  * self._params = {"bend": 0, "phi0": 0}
13499  *
13500  */
13501 
13502  /* function exit code */
13503  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13504  goto __pyx_L0;
13505  __pyx_L1_error:;
13506  __Pyx_XDECREF(__pyx_t_1);
13507  __Pyx_AddTraceback("espressomd.interactions.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
13508  __pyx_r = NULL;
13509  __pyx_L0:;
13510  __Pyx_XGIVEREF(__pyx_r);
13511  __Pyx_RefNannyFinishContext();
13512  return __pyx_r;
13513 }
13514 
13515 /* "espressomd/interactions.pyx":879
13516  * self._params = {"bend": 0, "phi0": 0}
13517  *
13518  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
13519  * return \
13520  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
13521  */
13522 
13523 /* Python wrapper */
13524 static PyObject *__pyx_pw_10espressomd_12interactions_21_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13525 static PyMethodDef __pyx_mdef_10espressomd_12interactions_21_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_21_getParamsFromEsCore, METH_O, 0};
13526 static PyObject *__pyx_pw_10espressomd_12interactions_21_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13527  PyObject *__pyx_r = 0;
13528  __Pyx_RefNannyDeclarations
13529  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
13530  __pyx_r = __pyx_pf_10espressomd_12interactions_20_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
13531 
13532  /* function exit code */
13533  __Pyx_RefNannyFinishContext();
13534  return __pyx_r;
13535 }
13536 
13537 static PyObject *__pyx_pf_10espressomd_12interactions_20_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13538  PyObject *__pyx_r = NULL;
13539  __Pyx_RefNannyDeclarations
13540  PyObject *__pyx_t_1 = NULL;
13541  PyObject *__pyx_t_2 = NULL;
13542  Py_ssize_t __pyx_t_3;
13543  int __pyx_lineno = 0;
13544  const char *__pyx_filename = NULL;
13545  int __pyx_clineno = 0;
13546  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
13547 
13548  /* "espressomd/interactions.pyx":880
13549  *
13550  * def _getParamsFromEsCore(self):
13551  * return \ # <<<<<<<<<<<<<<
13552  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
13553  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
13554  */
13555  __Pyx_XDECREF(__pyx_r);
13556 
13557  /* "espressomd/interactions.pyx":881
13558  * def _getParamsFromEsCore(self):
13559  * return \
13560  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend, # <<<<<<<<<<<<<<
13561  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
13562  *
13563  */
13564  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13565  __Pyx_GOTREF(__pyx_t_1);
13566  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13567  __Pyx_GOTREF(__pyx_t_2);
13568  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13569  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13570  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_cosine.bend); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13571  __Pyx_GOTREF(__pyx_t_2);
13572  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13573  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13574 
13575  /* "espressomd/interactions.pyx":882
13576  * return \
13577  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
13578  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0} # <<<<<<<<<<<<<<
13579  *
13580  * def _setParamsInEsCore(self):
13581  */
13582  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13583  __Pyx_GOTREF(__pyx_t_2);
13584  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13585  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13586  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_cosine.phi0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13587  __Pyx_GOTREF(__pyx_t_2);
13588  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13589  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13590  __pyx_r = __pyx_t_1;
13591  __pyx_t_1 = 0;
13592  goto __pyx_L0;
13593 
13594  /* "espressomd/interactions.pyx":879
13595  * self._params = {"bend": 0, "phi0": 0}
13596  *
13597  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
13598  * return \
13599  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
13600  */
13601 
13602  /* function exit code */
13603  __pyx_L1_error:;
13604  __Pyx_XDECREF(__pyx_t_1);
13605  __Pyx_XDECREF(__pyx_t_2);
13606  __Pyx_AddTraceback("espressomd.interactions._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
13607  __pyx_r = NULL;
13608  __pyx_L0:;
13609  __Pyx_XGIVEREF(__pyx_r);
13610  __Pyx_RefNannyFinishContext();
13611  return __pyx_r;
13612 }
13613 
13614 /* "espressomd/interactions.pyx":884
13615  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
13616  *
13617  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
13618  * angle_cosine_set_params(
13619  * self._bondId, self._params["bend"], self._params["phi0"])
13620  */
13621 
13622 /* Python wrapper */
13623 static PyObject *__pyx_pw_10espressomd_12interactions_23_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13624 static PyMethodDef __pyx_mdef_10espressomd_12interactions_23_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_23_setParamsInEsCore, METH_O, 0};
13625 static PyObject *__pyx_pw_10espressomd_12interactions_23_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13626  PyObject *__pyx_r = 0;
13627  __Pyx_RefNannyDeclarations
13628  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
13629  __pyx_r = __pyx_pf_10espressomd_12interactions_22_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
13630 
13631  /* function exit code */
13632  __Pyx_RefNannyFinishContext();
13633  return __pyx_r;
13634 }
13635 
13636 static PyObject *__pyx_pf_10espressomd_12interactions_22_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13637  PyObject *__pyx_r = NULL;
13638  __Pyx_RefNannyDeclarations
13639  PyObject *__pyx_t_1 = NULL;
13640  int __pyx_t_2;
13641  PyObject *__pyx_t_3 = NULL;
13642  double __pyx_t_4;
13643  double __pyx_t_5;
13644  int __pyx_lineno = 0;
13645  const char *__pyx_filename = NULL;
13646  int __pyx_clineno = 0;
13647  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
13648 
13649  /* "espressomd/interactions.pyx":886
13650  * def _setParamsInEsCore(self):
13651  * angle_cosine_set_params(
13652  * self._bondId, self._params["bend"], self._params["phi0"]) # <<<<<<<<<<<<<<
13653  * ELSE:
13654  * class Angle_Cosine(BondedInteractionNotDefined):
13655  */
13656  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13657  __Pyx_GOTREF(__pyx_t_1);
13658  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13659  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13660  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13661  __Pyx_GOTREF(__pyx_t_1);
13662  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_bend); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
13663  __Pyx_GOTREF(__pyx_t_3);
13664  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13665  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13666  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13667  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13668  __Pyx_GOTREF(__pyx_t_3);
13669  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_phi0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
13670  __Pyx_GOTREF(__pyx_t_1);
13671  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
13672  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13673  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13674 
13675  /* "espressomd/interactions.pyx":885
13676  *
13677  * def _setParamsInEsCore(self):
13678  * angle_cosine_set_params( # <<<<<<<<<<<<<<
13679  * self._bondId, self._params["bend"], self._params["phi0"])
13680  * ELSE:
13681  */
13682  angle_cosine_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
13683 
13684  /* "espressomd/interactions.pyx":884
13685  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
13686  *
13687  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
13688  * angle_cosine_set_params(
13689  * self._bondId, self._params["bend"], self._params["phi0"])
13690  */
13691 
13692  /* function exit code */
13693  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13694  goto __pyx_L0;
13695  __pyx_L1_error:;
13696  __Pyx_XDECREF(__pyx_t_1);
13697  __Pyx_XDECREF(__pyx_t_3);
13698  __Pyx_AddTraceback("espressomd.interactions._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
13699  __pyx_r = NULL;
13700  __pyx_L0:;
13701  __Pyx_XGIVEREF(__pyx_r);
13702  __Pyx_RefNannyFinishContext();
13703  return __pyx_r;
13704 }
13705 
13706 /* "espressomd/interactions.pyx":894
13707  * class Angle_Cossquare(BondedInteraction):
13708  *
13709  * def typeNumber(self): # <<<<<<<<<<<<<<
13710  * return 15
13711  *
13712  */
13713 
13714 /* Python wrapper */
13715 static PyObject *__pyx_pw_10espressomd_12interactions_15Angle_Cossquare_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13716 static PyMethodDef __pyx_mdef_10espressomd_12interactions_15Angle_Cossquare_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_15Angle_Cossquare_1typeNumber, METH_O, 0};
13717 static PyObject *__pyx_pw_10espressomd_12interactions_15Angle_Cossquare_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13718  PyObject *__pyx_r = 0;
13719  __Pyx_RefNannyDeclarations
13720  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
13721  __pyx_r = __pyx_pf_10espressomd_12interactions_15Angle_Cossquare_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
13722 
13723  /* function exit code */
13724  __Pyx_RefNannyFinishContext();
13725  return __pyx_r;
13726 }
13727 
13728 static PyObject *__pyx_pf_10espressomd_12interactions_15Angle_Cossquare_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13729  PyObject *__pyx_r = NULL;
13730  __Pyx_RefNannyDeclarations
13731  __Pyx_RefNannySetupContext("typeNumber", 0);
13732 
13733  /* "espressomd/interactions.pyx":895
13734  *
13735  * def typeNumber(self):
13736  * return 15 # <<<<<<<<<<<<<<
13737  *
13738  * def typeName(self):
13739  */
13740  __Pyx_XDECREF(__pyx_r);
13741  __Pyx_INCREF(__pyx_int_15);
13742  __pyx_r = __pyx_int_15;
13743  goto __pyx_L0;
13744 
13745  /* "espressomd/interactions.pyx":894
13746  * class Angle_Cossquare(BondedInteraction):
13747  *
13748  * def typeNumber(self): # <<<<<<<<<<<<<<
13749  * return 15
13750  *
13751  */
13752 
13753  /* function exit code */
13754  __pyx_L0:;
13755  __Pyx_XGIVEREF(__pyx_r);
13756  __Pyx_RefNannyFinishContext();
13757  return __pyx_r;
13758 }
13759 
13760 /* "espressomd/interactions.pyx":897
13761  * return 15
13762  *
13763  * def typeName(self): # <<<<<<<<<<<<<<
13764  * return "ANGLE_COSSQUARE"
13765  *
13766  */
13767 
13768 /* Python wrapper */
13769 static PyObject *__pyx_pw_10espressomd_12interactions_25typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13770 static PyMethodDef __pyx_mdef_10espressomd_12interactions_25typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_25typeName, METH_O, 0};
13771 static PyObject *__pyx_pw_10espressomd_12interactions_25typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13772  PyObject *__pyx_r = 0;
13773  __Pyx_RefNannyDeclarations
13774  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
13775  __pyx_r = __pyx_pf_10espressomd_12interactions_24typeName(__pyx_self, ((PyObject *)__pyx_v_self));
13776 
13777  /* function exit code */
13778  __Pyx_RefNannyFinishContext();
13779  return __pyx_r;
13780 }
13781 
13782 static PyObject *__pyx_pf_10espressomd_12interactions_24typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13783  PyObject *__pyx_r = NULL;
13784  __Pyx_RefNannyDeclarations
13785  __Pyx_RefNannySetupContext("typeName", 0);
13786 
13787  /* "espressomd/interactions.pyx":898
13788  *
13789  * def typeName(self):
13790  * return "ANGLE_COSSQUARE" # <<<<<<<<<<<<<<
13791  *
13792  * def validKeys(self):
13793  */
13794  __Pyx_XDECREF(__pyx_r);
13795  __Pyx_INCREF(__pyx_n_s_ANGLE_COSSQUARE);
13796  __pyx_r = __pyx_n_s_ANGLE_COSSQUARE;
13797  goto __pyx_L0;
13798 
13799  /* "espressomd/interactions.pyx":897
13800  * return 15
13801  *
13802  * def typeName(self): # <<<<<<<<<<<<<<
13803  * return "ANGLE_COSSQUARE"
13804  *
13805  */
13806 
13807  /* function exit code */
13808  __pyx_L0:;
13809  __Pyx_XGIVEREF(__pyx_r);
13810  __Pyx_RefNannyFinishContext();
13811  return __pyx_r;
13812 }
13813 
13814 /* "espressomd/interactions.pyx":900
13815  * return "ANGLE_COSSQUARE"
13816  *
13817  * def validKeys(self): # <<<<<<<<<<<<<<
13818  * return "bend", "phi0"
13819  *
13820  */
13821 
13822 /* Python wrapper */
13823 static PyObject *__pyx_pw_10espressomd_12interactions_27validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13824 static PyMethodDef __pyx_mdef_10espressomd_12interactions_27validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_27validKeys, METH_O, 0};
13825 static PyObject *__pyx_pw_10espressomd_12interactions_27validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13826  PyObject *__pyx_r = 0;
13827  __Pyx_RefNannyDeclarations
13828  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
13829  __pyx_r = __pyx_pf_10espressomd_12interactions_26validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
13830 
13831  /* function exit code */
13832  __Pyx_RefNannyFinishContext();
13833  return __pyx_r;
13834 }
13835 
13836 static PyObject *__pyx_pf_10espressomd_12interactions_26validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13837  PyObject *__pyx_r = NULL;
13838  __Pyx_RefNannyDeclarations
13839  __Pyx_RefNannySetupContext("validKeys", 0);
13840 
13841  /* "espressomd/interactions.pyx":901
13842  *
13843  * def validKeys(self):
13844  * return "bend", "phi0" # <<<<<<<<<<<<<<
13845  *
13846  * def requiredKeys(self):
13847  */
13848  __Pyx_XDECREF(__pyx_r);
13849  __Pyx_INCREF(__pyx_tuple__52);
13850  __pyx_r = __pyx_tuple__52;
13851  goto __pyx_L0;
13852 
13853  /* "espressomd/interactions.pyx":900
13854  * return "ANGLE_COSSQUARE"
13855  *
13856  * def validKeys(self): # <<<<<<<<<<<<<<
13857  * return "bend", "phi0"
13858  *
13859  */
13860 
13861  /* function exit code */
13862  __pyx_L0:;
13863  __Pyx_XGIVEREF(__pyx_r);
13864  __Pyx_RefNannyFinishContext();
13865  return __pyx_r;
13866 }
13867 
13868 /* "espressomd/interactions.pyx":903
13869  * return "bend", "phi0"
13870  *
13871  * def requiredKeys(self): # <<<<<<<<<<<<<<
13872  * return "bend", "phi0"
13873  *
13874  */
13875 
13876 /* Python wrapper */
13877 static PyObject *__pyx_pw_10espressomd_12interactions_29requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13878 static PyMethodDef __pyx_mdef_10espressomd_12interactions_29requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_29requiredKeys, METH_O, 0};
13879 static PyObject *__pyx_pw_10espressomd_12interactions_29requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13880  PyObject *__pyx_r = 0;
13881  __Pyx_RefNannyDeclarations
13882  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
13883  __pyx_r = __pyx_pf_10espressomd_12interactions_28requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
13884 
13885  /* function exit code */
13886  __Pyx_RefNannyFinishContext();
13887  return __pyx_r;
13888 }
13889 
13890 static PyObject *__pyx_pf_10espressomd_12interactions_28requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
13891  PyObject *__pyx_r = NULL;
13892  __Pyx_RefNannyDeclarations
13893  __Pyx_RefNannySetupContext("requiredKeys", 0);
13894 
13895  /* "espressomd/interactions.pyx":904
13896  *
13897  * def requiredKeys(self):
13898  * return "bend", "phi0" # <<<<<<<<<<<<<<
13899  *
13900  * def setDefaultParams(self):
13901  */
13902  __Pyx_XDECREF(__pyx_r);
13903  __Pyx_INCREF(__pyx_tuple__53);
13904  __pyx_r = __pyx_tuple__53;
13905  goto __pyx_L0;
13906 
13907  /* "espressomd/interactions.pyx":903
13908  * return "bend", "phi0"
13909  *
13910  * def requiredKeys(self): # <<<<<<<<<<<<<<
13911  * return "bend", "phi0"
13912  *
13913  */
13914 
13915  /* function exit code */
13916  __pyx_L0:;
13917  __Pyx_XGIVEREF(__pyx_r);
13918  __Pyx_RefNannyFinishContext();
13919  return __pyx_r;
13920 }
13921 
13922 /* "espressomd/interactions.pyx":906
13923  * return "bend", "phi0"
13924  *
13925  * def setDefaultParams(self): # <<<<<<<<<<<<<<
13926  * self._params = {"bend": 0, "phi0": 0}
13927  *
13928  */
13929 
13930 /* Python wrapper */
13931 static PyObject *__pyx_pw_10espressomd_12interactions_31setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13932 static PyMethodDef __pyx_mdef_10espressomd_12interactions_31setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_31setDefaultParams, METH_O, 0};
13933 static PyObject *__pyx_pw_10espressomd_12interactions_31setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
13934  PyObject *__pyx_r = 0;
13935  __Pyx_RefNannyDeclarations
13936  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
13937  __pyx_r = __pyx_pf_10espressomd_12interactions_30setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
13938 
13939  /* function exit code */
13940  __Pyx_RefNannyFinishContext();
13941  return __pyx_r;
13942 }
13943 
13944 static PyObject *__pyx_pf_10espressomd_12interactions_30setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
13945  PyObject *__pyx_r = NULL;
13946  __Pyx_RefNannyDeclarations
13947  PyObject *__pyx_t_1 = NULL;
13948  int __pyx_lineno = 0;
13949  const char *__pyx_filename = NULL;
13950  int __pyx_clineno = 0;
13951  __Pyx_RefNannySetupContext("setDefaultParams", 0);
13952 
13953  /* "espressomd/interactions.pyx":907
13954  *
13955  * def setDefaultParams(self):
13956  * self._params = {"bend": 0, "phi0": 0} # <<<<<<<<<<<<<<
13957  *
13958  * def _getParamsFromEsCore(self):
13959  */
13960  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13961  __Pyx_GOTREF(__pyx_t_1);
13962  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13963  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13964  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
13965  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
13966 
13967  /* "espressomd/interactions.pyx":906
13968  * return "bend", "phi0"
13969  *
13970  * def setDefaultParams(self): # <<<<<<<<<<<<<<
13971  * self._params = {"bend": 0, "phi0": 0}
13972  *
13973  */
13974 
13975  /* function exit code */
13976  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
13977  goto __pyx_L0;
13978  __pyx_L1_error:;
13979  __Pyx_XDECREF(__pyx_t_1);
13980  __Pyx_AddTraceback("espressomd.interactions.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
13981  __pyx_r = NULL;
13982  __pyx_L0:;
13983  __Pyx_XGIVEREF(__pyx_r);
13984  __Pyx_RefNannyFinishContext();
13985  return __pyx_r;
13986 }
13987 
13988 /* "espressomd/interactions.pyx":909
13989  * self._params = {"bend": 0, "phi0": 0}
13990  *
13991  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
13992  * return \
13993  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
13994  */
13995 
13996 /* Python wrapper */
13997 static PyObject *__pyx_pw_10espressomd_12interactions_33_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
13998 static PyMethodDef __pyx_mdef_10espressomd_12interactions_33_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_33_getParamsFromEsCore, METH_O, 0};
13999 static PyObject *__pyx_pw_10espressomd_12interactions_33_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14000  PyObject *__pyx_r = 0;
14001  __Pyx_RefNannyDeclarations
14002  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
14003  __pyx_r = __pyx_pf_10espressomd_12interactions_32_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
14004 
14005  /* function exit code */
14006  __Pyx_RefNannyFinishContext();
14007  return __pyx_r;
14008 }
14009 
14010 static PyObject *__pyx_pf_10espressomd_12interactions_32_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14011  PyObject *__pyx_r = NULL;
14012  __Pyx_RefNannyDeclarations
14013  PyObject *__pyx_t_1 = NULL;
14014  PyObject *__pyx_t_2 = NULL;
14015  Py_ssize_t __pyx_t_3;
14016  int __pyx_lineno = 0;
14017  const char *__pyx_filename = NULL;
14018  int __pyx_clineno = 0;
14019  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
14020 
14021  /* "espressomd/interactions.pyx":910
14022  *
14023  * def _getParamsFromEsCore(self):
14024  * return \ # <<<<<<<<<<<<<<
14025  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
14026  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
14027  */
14028  __Pyx_XDECREF(__pyx_r);
14029 
14030  /* "espressomd/interactions.pyx":911
14031  * def _getParamsFromEsCore(self):
14032  * return \
14033  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend, # <<<<<<<<<<<<<<
14034  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
14035  *
14036  */
14037  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14038  __Pyx_GOTREF(__pyx_t_1);
14039  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14040  __Pyx_GOTREF(__pyx_t_2);
14041  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14042  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14043  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_cossquare.bend); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14044  __Pyx_GOTREF(__pyx_t_2);
14045  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_bend, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14046  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14047 
14048  /* "espressomd/interactions.pyx":912
14049  * return \
14050  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
14051  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0} # <<<<<<<<<<<<<<
14052  *
14053  * def _setParamsInEsCore(self):
14054  */
14055  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14056  __Pyx_GOTREF(__pyx_t_2);
14057  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14058  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14059  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.angle_cossquare.phi0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14060  __Pyx_GOTREF(__pyx_t_2);
14061  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 911; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14062  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14063  __pyx_r = __pyx_t_1;
14064  __pyx_t_1 = 0;
14065  goto __pyx_L0;
14066 
14067  /* "espressomd/interactions.pyx":909
14068  * self._params = {"bend": 0, "phi0": 0}
14069  *
14070  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
14071  * return \
14072  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
14073  */
14074 
14075  /* function exit code */
14076  __pyx_L1_error:;
14077  __Pyx_XDECREF(__pyx_t_1);
14078  __Pyx_XDECREF(__pyx_t_2);
14079  __Pyx_AddTraceback("espressomd.interactions._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
14080  __pyx_r = NULL;
14081  __pyx_L0:;
14082  __Pyx_XGIVEREF(__pyx_r);
14083  __Pyx_RefNannyFinishContext();
14084  return __pyx_r;
14085 }
14086 
14087 /* "espressomd/interactions.pyx":914
14088  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
14089  *
14090  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
14091  * angle_cossquare_set_params(
14092  * self._bondId, self._params["bend"], self._params["phi0"])
14093  */
14094 
14095 /* Python wrapper */
14096 static PyObject *__pyx_pw_10espressomd_12interactions_35_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14097 static PyMethodDef __pyx_mdef_10espressomd_12interactions_35_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_35_setParamsInEsCore, METH_O, 0};
14098 static PyObject *__pyx_pw_10espressomd_12interactions_35_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14099  PyObject *__pyx_r = 0;
14100  __Pyx_RefNannyDeclarations
14101  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
14102  __pyx_r = __pyx_pf_10espressomd_12interactions_34_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
14103 
14104  /* function exit code */
14105  __Pyx_RefNannyFinishContext();
14106  return __pyx_r;
14107 }
14108 
14109 static PyObject *__pyx_pf_10espressomd_12interactions_34_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14110  PyObject *__pyx_r = NULL;
14111  __Pyx_RefNannyDeclarations
14112  PyObject *__pyx_t_1 = NULL;
14113  int __pyx_t_2;
14114  PyObject *__pyx_t_3 = NULL;
14115  double __pyx_t_4;
14116  double __pyx_t_5;
14117  int __pyx_lineno = 0;
14118  const char *__pyx_filename = NULL;
14119  int __pyx_clineno = 0;
14120  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
14121 
14122  /* "espressomd/interactions.pyx":916
14123  * def _setParamsInEsCore(self):
14124  * angle_cossquare_set_params(
14125  * self._bondId, self._params["bend"], self._params["phi0"]) # <<<<<<<<<<<<<<
14126  * ELSE:
14127  * class Angle_Cossquare(BondedInteractionNotDefined):
14128  */
14129  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14130  __Pyx_GOTREF(__pyx_t_1);
14131  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14132  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14133  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14134  __Pyx_GOTREF(__pyx_t_1);
14135  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_bend); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
14136  __Pyx_GOTREF(__pyx_t_3);
14137  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14138  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14139  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14140  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14141  __Pyx_GOTREF(__pyx_t_3);
14142  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_phi0); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
14143  __Pyx_GOTREF(__pyx_t_1);
14144  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14145  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14146  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14147 
14148  /* "espressomd/interactions.pyx":915
14149  *
14150  * def _setParamsInEsCore(self):
14151  * angle_cossquare_set_params( # <<<<<<<<<<<<<<
14152  * self._bondId, self._params["bend"], self._params["phi0"])
14153  * ELSE:
14154  */
14155  angle_cossquare_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
14156 
14157  /* "espressomd/interactions.pyx":914
14158  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
14159  *
14160  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
14161  * angle_cossquare_set_params(
14162  * self._bondId, self._params["bend"], self._params["phi0"])
14163  */
14164 
14165  /* function exit code */
14166  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14167  goto __pyx_L0;
14168  __pyx_L1_error:;
14169  __Pyx_XDECREF(__pyx_t_1);
14170  __Pyx_XDECREF(__pyx_t_3);
14171  __Pyx_AddTraceback("espressomd.interactions._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
14172  __pyx_r = NULL;
14173  __pyx_L0:;
14174  __Pyx_XGIVEREF(__pyx_r);
14175  __Pyx_RefNannyFinishContext();
14176  return __pyx_r;
14177 }
14178 
14179 /* "espressomd/interactions.pyx":924
14180  * class Stretching_Force(BondedInteraction):
14181  *
14182  * def typeNumber(self): # <<<<<<<<<<<<<<
14183  * return 16
14184  *
14185  */
14186 
14187 /* Python wrapper */
14188 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14189 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_1typeNumber, METH_O, 0};
14190 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14191  PyObject *__pyx_r = 0;
14192  __Pyx_RefNannyDeclarations
14193  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
14194  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
14195 
14196  /* function exit code */
14197  __Pyx_RefNannyFinishContext();
14198  return __pyx_r;
14199 }
14200 
14201 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14202  PyObject *__pyx_r = NULL;
14203  __Pyx_RefNannyDeclarations
14204  __Pyx_RefNannySetupContext("typeNumber", 0);
14205 
14206  /* "espressomd/interactions.pyx":925
14207  *
14208  * def typeNumber(self):
14209  * return 16 # <<<<<<<<<<<<<<
14210  *
14211  * def typeName(self):
14212  */
14213  __Pyx_XDECREF(__pyx_r);
14214  __Pyx_INCREF(__pyx_int_16);
14215  __pyx_r = __pyx_int_16;
14216  goto __pyx_L0;
14217 
14218  /* "espressomd/interactions.pyx":924
14219  * class Stretching_Force(BondedInteraction):
14220  *
14221  * def typeNumber(self): # <<<<<<<<<<<<<<
14222  * return 16
14223  *
14224  */
14225 
14226  /* function exit code */
14227  __pyx_L0:;
14228  __Pyx_XGIVEREF(__pyx_r);
14229  __Pyx_RefNannyFinishContext();
14230  return __pyx_r;
14231 }
14232 
14233 /* "espressomd/interactions.pyx":927
14234  * return 16
14235  *
14236  * def typeName(self): # <<<<<<<<<<<<<<
14237  * return "STRETCHING_FORCE"
14238  *
14239  */
14240 
14241 /* Python wrapper */
14242 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14243 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_3typeName, METH_O, 0};
14244 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14245  PyObject *__pyx_r = 0;
14246  __Pyx_RefNannyDeclarations
14247  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
14248  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
14249 
14250  /* function exit code */
14251  __Pyx_RefNannyFinishContext();
14252  return __pyx_r;
14253 }
14254 
14255 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14256  PyObject *__pyx_r = NULL;
14257  __Pyx_RefNannyDeclarations
14258  __Pyx_RefNannySetupContext("typeName", 0);
14259 
14260  /* "espressomd/interactions.pyx":928
14261  *
14262  * def typeName(self):
14263  * return "STRETCHING_FORCE" # <<<<<<<<<<<<<<
14264  *
14265  * def validKeys(self):
14266  */
14267  __Pyx_XDECREF(__pyx_r);
14268  __Pyx_INCREF(__pyx_n_s_STRETCHING_FORCE);
14269  __pyx_r = __pyx_n_s_STRETCHING_FORCE;
14270  goto __pyx_L0;
14271 
14272  /* "espressomd/interactions.pyx":927
14273  * return 16
14274  *
14275  * def typeName(self): # <<<<<<<<<<<<<<
14276  * return "STRETCHING_FORCE"
14277  *
14278  */
14279 
14280  /* function exit code */
14281  __pyx_L0:;
14282  __Pyx_XGIVEREF(__pyx_r);
14283  __Pyx_RefNannyFinishContext();
14284  return __pyx_r;
14285 }
14286 
14287 /* "espressomd/interactions.pyx":930
14288  * return "STRETCHING_FORCE"
14289  *
14290  * def validKeys(self): # <<<<<<<<<<<<<<
14291  * return "r0", "ks"
14292  *
14293  */
14294 
14295 /* Python wrapper */
14296 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14297 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_5validKeys, METH_O, 0};
14298 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14299  PyObject *__pyx_r = 0;
14300  __Pyx_RefNannyDeclarations
14301  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
14302  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
14303 
14304  /* function exit code */
14305  __Pyx_RefNannyFinishContext();
14306  return __pyx_r;
14307 }
14308 
14309 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14310  PyObject *__pyx_r = NULL;
14311  __Pyx_RefNannyDeclarations
14312  __Pyx_RefNannySetupContext("validKeys", 0);
14313 
14314  /* "espressomd/interactions.pyx":931
14315  *
14316  * def validKeys(self):
14317  * return "r0", "ks" # <<<<<<<<<<<<<<
14318  *
14319  * def requiredKeys(self):
14320  */
14321  __Pyx_XDECREF(__pyx_r);
14322  __Pyx_INCREF(__pyx_tuple__54);
14323  __pyx_r = __pyx_tuple__54;
14324  goto __pyx_L0;
14325 
14326  /* "espressomd/interactions.pyx":930
14327  * return "STRETCHING_FORCE"
14328  *
14329  * def validKeys(self): # <<<<<<<<<<<<<<
14330  * return "r0", "ks"
14331  *
14332  */
14333 
14334  /* function exit code */
14335  __pyx_L0:;
14336  __Pyx_XGIVEREF(__pyx_r);
14337  __Pyx_RefNannyFinishContext();
14338  return __pyx_r;
14339 }
14340 
14341 /* "espressomd/interactions.pyx":933
14342  * return "r0", "ks"
14343  *
14344  * def requiredKeys(self): # <<<<<<<<<<<<<<
14345  * return "r0", "ks"
14346  *
14347  */
14348 
14349 /* Python wrapper */
14350 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14351 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_7requiredKeys, METH_O, 0};
14352 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14353  PyObject *__pyx_r = 0;
14354  __Pyx_RefNannyDeclarations
14355  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
14356  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
14357 
14358  /* function exit code */
14359  __Pyx_RefNannyFinishContext();
14360  return __pyx_r;
14361 }
14362 
14363 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14364  PyObject *__pyx_r = NULL;
14365  __Pyx_RefNannyDeclarations
14366  __Pyx_RefNannySetupContext("requiredKeys", 0);
14367 
14368  /* "espressomd/interactions.pyx":934
14369  *
14370  * def requiredKeys(self):
14371  * return "r0", "ks" # <<<<<<<<<<<<<<
14372  *
14373  * def setDefaultParams(self):
14374  */
14375  __Pyx_XDECREF(__pyx_r);
14376  __Pyx_INCREF(__pyx_tuple__55);
14377  __pyx_r = __pyx_tuple__55;
14378  goto __pyx_L0;
14379 
14380  /* "espressomd/interactions.pyx":933
14381  * return "r0", "ks"
14382  *
14383  * def requiredKeys(self): # <<<<<<<<<<<<<<
14384  * return "r0", "ks"
14385  *
14386  */
14387 
14388  /* function exit code */
14389  __pyx_L0:;
14390  __Pyx_XGIVEREF(__pyx_r);
14391  __Pyx_RefNannyFinishContext();
14392  return __pyx_r;
14393 }
14394 
14395 /* "espressomd/interactions.pyx":936
14396  * return "r0", "ks"
14397  *
14398  * def setDefaultParams(self): # <<<<<<<<<<<<<<
14399  * self._params = {"r0": 1., "ks": 0}
14400  *
14401  */
14402 
14403 /* Python wrapper */
14404 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14405 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_9setDefaultParams, METH_O, 0};
14406 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14407  PyObject *__pyx_r = 0;
14408  __Pyx_RefNannyDeclarations
14409  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
14410  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
14411 
14412  /* function exit code */
14413  __Pyx_RefNannyFinishContext();
14414  return __pyx_r;
14415 }
14416 
14417 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14418  PyObject *__pyx_r = NULL;
14419  __Pyx_RefNannyDeclarations
14420  PyObject *__pyx_t_1 = NULL;
14421  int __pyx_lineno = 0;
14422  const char *__pyx_filename = NULL;
14423  int __pyx_clineno = 0;
14424  __Pyx_RefNannySetupContext("setDefaultParams", 0);
14425 
14426  /* "espressomd/interactions.pyx":937
14427  *
14428  * def setDefaultParams(self):
14429  * self._params = {"r0": 1., "ks": 0} # <<<<<<<<<<<<<<
14430  *
14431  * def _getParamsFromEsCore(self):
14432  */
14433  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14434  __Pyx_GOTREF(__pyx_t_1);
14435  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r0, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14436  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ks, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14437  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14438  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14439 
14440  /* "espressomd/interactions.pyx":936
14441  * return "r0", "ks"
14442  *
14443  * def setDefaultParams(self): # <<<<<<<<<<<<<<
14444  * self._params = {"r0": 1., "ks": 0}
14445  *
14446  */
14447 
14448  /* function exit code */
14449  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14450  goto __pyx_L0;
14451  __pyx_L1_error:;
14452  __Pyx_XDECREF(__pyx_t_1);
14453  __Pyx_AddTraceback("espressomd.interactions.Stretching_Force.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
14454  __pyx_r = NULL;
14455  __pyx_L0:;
14456  __Pyx_XGIVEREF(__pyx_r);
14457  __Pyx_RefNannyFinishContext();
14458  return __pyx_r;
14459 }
14460 
14461 /* "espressomd/interactions.pyx":939
14462  * self._params = {"r0": 1., "ks": 0}
14463  *
14464  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
14465  * return \
14466  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
14467  */
14468 
14469 /* Python wrapper */
14470 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14471 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_11_getParamsFromEsCore, METH_O, 0};
14472 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14473  PyObject *__pyx_r = 0;
14474  __Pyx_RefNannyDeclarations
14475  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
14476  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
14477 
14478  /* function exit code */
14479  __Pyx_RefNannyFinishContext();
14480  return __pyx_r;
14481 }
14482 
14483 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14484  PyObject *__pyx_r = NULL;
14485  __Pyx_RefNannyDeclarations
14486  PyObject *__pyx_t_1 = NULL;
14487  PyObject *__pyx_t_2 = NULL;
14488  Py_ssize_t __pyx_t_3;
14489  int __pyx_lineno = 0;
14490  const char *__pyx_filename = NULL;
14491  int __pyx_clineno = 0;
14492  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
14493 
14494  /* "espressomd/interactions.pyx":940
14495  *
14496  * def _getParamsFromEsCore(self):
14497  * return \ # <<<<<<<<<<<<<<
14498  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
14499  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
14500  */
14501  __Pyx_XDECREF(__pyx_r);
14502 
14503  /* "espressomd/interactions.pyx":941
14504  * def _getParamsFromEsCore(self):
14505  * return \
14506  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0, # <<<<<<<<<<<<<<
14507  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
14508  *
14509  */
14510  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14511  __Pyx_GOTREF(__pyx_t_1);
14512  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14513  __Pyx_GOTREF(__pyx_t_2);
14514  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14515  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14516  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.stretching_force.r0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14517  __Pyx_GOTREF(__pyx_t_2);
14518  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14519  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14520 
14521  /* "espressomd/interactions.pyx":942
14522  * return \
14523  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
14524  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks} # <<<<<<<<<<<<<<
14525  *
14526  * def _setParamsInEsCore(self):
14527  */
14528  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14529  __Pyx_GOTREF(__pyx_t_2);
14530  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14531  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14532  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.stretching_force.ks); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14533  __Pyx_GOTREF(__pyx_t_2);
14534  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ks, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14535  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14536  __pyx_r = __pyx_t_1;
14537  __pyx_t_1 = 0;
14538  goto __pyx_L0;
14539 
14540  /* "espressomd/interactions.pyx":939
14541  * self._params = {"r0": 1., "ks": 0}
14542  *
14543  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
14544  * return \
14545  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
14546  */
14547 
14548  /* function exit code */
14549  __pyx_L1_error:;
14550  __Pyx_XDECREF(__pyx_t_1);
14551  __Pyx_XDECREF(__pyx_t_2);
14552  __Pyx_AddTraceback("espressomd.interactions.Stretching_Force._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
14553  __pyx_r = NULL;
14554  __pyx_L0:;
14555  __Pyx_XGIVEREF(__pyx_r);
14556  __Pyx_RefNannyFinishContext();
14557  return __pyx_r;
14558 }
14559 
14560 /* "espressomd/interactions.pyx":944
14561  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
14562  *
14563  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
14564  * stretching_force_set_params(
14565  * self._bondId, self._params["r0"], self._params["ks"])
14566  */
14567 
14568 /* Python wrapper */
14569 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14570 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretching_Force_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretching_Force_13_setParamsInEsCore, METH_O, 0};
14571 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretching_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14572  PyObject *__pyx_r = 0;
14573  __Pyx_RefNannyDeclarations
14574  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
14575  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretching_Force_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
14576 
14577  /* function exit code */
14578  __Pyx_RefNannyFinishContext();
14579  return __pyx_r;
14580 }
14581 
14582 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretching_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14583  PyObject *__pyx_r = NULL;
14584  __Pyx_RefNannyDeclarations
14585  PyObject *__pyx_t_1 = NULL;
14586  int __pyx_t_2;
14587  PyObject *__pyx_t_3 = NULL;
14588  double __pyx_t_4;
14589  double __pyx_t_5;
14590  int __pyx_lineno = 0;
14591  const char *__pyx_filename = NULL;
14592  int __pyx_clineno = 0;
14593  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
14594 
14595  /* "espressomd/interactions.pyx":946
14596  * def _setParamsInEsCore(self):
14597  * stretching_force_set_params(
14598  * self._bondId, self._params["r0"], self._params["ks"]) # <<<<<<<<<<<<<<
14599  *
14600  *
14601  */
14602  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14603  __Pyx_GOTREF(__pyx_t_1);
14604  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14605  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14606  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14607  __Pyx_GOTREF(__pyx_t_1);
14608  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_r0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
14609  __Pyx_GOTREF(__pyx_t_3);
14610  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14611  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14612  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14613  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14614  __Pyx_GOTREF(__pyx_t_3);
14615  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_ks); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
14616  __Pyx_GOTREF(__pyx_t_1);
14617  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14618  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14619  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14620 
14621  /* "espressomd/interactions.pyx":945
14622  *
14623  * def _setParamsInEsCore(self):
14624  * stretching_force_set_params( # <<<<<<<<<<<<<<
14625  * self._bondId, self._params["r0"], self._params["ks"])
14626  *
14627  */
14628  stretching_force_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
14629 
14630  /* "espressomd/interactions.pyx":944
14631  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
14632  *
14633  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
14634  * stretching_force_set_params(
14635  * self._bondId, self._params["r0"], self._params["ks"])
14636  */
14637 
14638  /* function exit code */
14639  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14640  goto __pyx_L0;
14641  __pyx_L1_error:;
14642  __Pyx_XDECREF(__pyx_t_1);
14643  __Pyx_XDECREF(__pyx_t_3);
14644  __Pyx_AddTraceback("espressomd.interactions.Stretching_Force._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
14645  __pyx_r = NULL;
14646  __pyx_L0:;
14647  __Pyx_XGIVEREF(__pyx_r);
14648  __Pyx_RefNannyFinishContext();
14649  return __pyx_r;
14650 }
14651 
14652 /* "espressomd/interactions.pyx":951
14653  * class Area_Force_Local(BondedInteraction):
14654  *
14655  * def typeNumber(self): # <<<<<<<<<<<<<<
14656  * return 17
14657  *
14658  */
14659 
14660 /* Python wrapper */
14661 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14662 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_1typeNumber, METH_O, 0};
14663 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14664  PyObject *__pyx_r = 0;
14665  __Pyx_RefNannyDeclarations
14666  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
14667  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
14668 
14669  /* function exit code */
14670  __Pyx_RefNannyFinishContext();
14671  return __pyx_r;
14672 }
14673 
14674 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14675  PyObject *__pyx_r = NULL;
14676  __Pyx_RefNannyDeclarations
14677  __Pyx_RefNannySetupContext("typeNumber", 0);
14678 
14679  /* "espressomd/interactions.pyx":952
14680  *
14681  * def typeNumber(self):
14682  * return 17 # <<<<<<<<<<<<<<
14683  *
14684  * def typeName(self):
14685  */
14686  __Pyx_XDECREF(__pyx_r);
14687  __Pyx_INCREF(__pyx_int_17);
14688  __pyx_r = __pyx_int_17;
14689  goto __pyx_L0;
14690 
14691  /* "espressomd/interactions.pyx":951
14692  * class Area_Force_Local(BondedInteraction):
14693  *
14694  * def typeNumber(self): # <<<<<<<<<<<<<<
14695  * return 17
14696  *
14697  */
14698 
14699  /* function exit code */
14700  __pyx_L0:;
14701  __Pyx_XGIVEREF(__pyx_r);
14702  __Pyx_RefNannyFinishContext();
14703  return __pyx_r;
14704 }
14705 
14706 /* "espressomd/interactions.pyx":954
14707  * return 17
14708  *
14709  * def typeName(self): # <<<<<<<<<<<<<<
14710  * return "AREA_FORCE_LOCAL"
14711  *
14712  */
14713 
14714 /* Python wrapper */
14715 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14716 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_3typeName, METH_O, 0};
14717 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14718  PyObject *__pyx_r = 0;
14719  __Pyx_RefNannyDeclarations
14720  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
14721  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
14722 
14723  /* function exit code */
14724  __Pyx_RefNannyFinishContext();
14725  return __pyx_r;
14726 }
14727 
14728 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14729  PyObject *__pyx_r = NULL;
14730  __Pyx_RefNannyDeclarations
14731  __Pyx_RefNannySetupContext("typeName", 0);
14732 
14733  /* "espressomd/interactions.pyx":955
14734  *
14735  * def typeName(self):
14736  * return "AREA_FORCE_LOCAL" # <<<<<<<<<<<<<<
14737  *
14738  * def validKeys(self):
14739  */
14740  __Pyx_XDECREF(__pyx_r);
14741  __Pyx_INCREF(__pyx_n_s_AREA_FORCE_LOCAL);
14742  __pyx_r = __pyx_n_s_AREA_FORCE_LOCAL;
14743  goto __pyx_L0;
14744 
14745  /* "espressomd/interactions.pyx":954
14746  * return 17
14747  *
14748  * def typeName(self): # <<<<<<<<<<<<<<
14749  * return "AREA_FORCE_LOCAL"
14750  *
14751  */
14752 
14753  /* function exit code */
14754  __pyx_L0:;
14755  __Pyx_XGIVEREF(__pyx_r);
14756  __Pyx_RefNannyFinishContext();
14757  return __pyx_r;
14758 }
14759 
14760 /* "espressomd/interactions.pyx":957
14761  * return "AREA_FORCE_LOCAL"
14762  *
14763  * def validKeys(self): # <<<<<<<<<<<<<<
14764  * return "A0_l", "ka_l"
14765  *
14766  */
14767 
14768 /* Python wrapper */
14769 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14770 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_5validKeys, METH_O, 0};
14771 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14772  PyObject *__pyx_r = 0;
14773  __Pyx_RefNannyDeclarations
14774  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
14775  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
14776 
14777  /* function exit code */
14778  __Pyx_RefNannyFinishContext();
14779  return __pyx_r;
14780 }
14781 
14782 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14783  PyObject *__pyx_r = NULL;
14784  __Pyx_RefNannyDeclarations
14785  __Pyx_RefNannySetupContext("validKeys", 0);
14786 
14787  /* "espressomd/interactions.pyx":958
14788  *
14789  * def validKeys(self):
14790  * return "A0_l", "ka_l" # <<<<<<<<<<<<<<
14791  *
14792  * def requiredKeys(self):
14793  */
14794  __Pyx_XDECREF(__pyx_r);
14795  __Pyx_INCREF(__pyx_tuple__56);
14796  __pyx_r = __pyx_tuple__56;
14797  goto __pyx_L0;
14798 
14799  /* "espressomd/interactions.pyx":957
14800  * return "AREA_FORCE_LOCAL"
14801  *
14802  * def validKeys(self): # <<<<<<<<<<<<<<
14803  * return "A0_l", "ka_l"
14804  *
14805  */
14806 
14807  /* function exit code */
14808  __pyx_L0:;
14809  __Pyx_XGIVEREF(__pyx_r);
14810  __Pyx_RefNannyFinishContext();
14811  return __pyx_r;
14812 }
14813 
14814 /* "espressomd/interactions.pyx":960
14815  * return "A0_l", "ka_l"
14816  *
14817  * def requiredKeys(self): # <<<<<<<<<<<<<<
14818  * return "A0_l", "ka_l"
14819  *
14820  */
14821 
14822 /* Python wrapper */
14823 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14824 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_7requiredKeys, METH_O, 0};
14825 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14826  PyObject *__pyx_r = 0;
14827  __Pyx_RefNannyDeclarations
14828  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
14829  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
14830 
14831  /* function exit code */
14832  __Pyx_RefNannyFinishContext();
14833  return __pyx_r;
14834 }
14835 
14836 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
14837  PyObject *__pyx_r = NULL;
14838  __Pyx_RefNannyDeclarations
14839  __Pyx_RefNannySetupContext("requiredKeys", 0);
14840 
14841  /* "espressomd/interactions.pyx":961
14842  *
14843  * def requiredKeys(self):
14844  * return "A0_l", "ka_l" # <<<<<<<<<<<<<<
14845  *
14846  * def setDefaultParams(self):
14847  */
14848  __Pyx_XDECREF(__pyx_r);
14849  __Pyx_INCREF(__pyx_tuple__57);
14850  __pyx_r = __pyx_tuple__57;
14851  goto __pyx_L0;
14852 
14853  /* "espressomd/interactions.pyx":960
14854  * return "A0_l", "ka_l"
14855  *
14856  * def requiredKeys(self): # <<<<<<<<<<<<<<
14857  * return "A0_l", "ka_l"
14858  *
14859  */
14860 
14861  /* function exit code */
14862  __pyx_L0:;
14863  __Pyx_XGIVEREF(__pyx_r);
14864  __Pyx_RefNannyFinishContext();
14865  return __pyx_r;
14866 }
14867 
14868 /* "espressomd/interactions.pyx":963
14869  * return "A0_l", "ka_l"
14870  *
14871  * def setDefaultParams(self): # <<<<<<<<<<<<<<
14872  * self._params = {"A0_l": 1., "ka_l": 0}
14873  *
14874  */
14875 
14876 /* Python wrapper */
14877 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14878 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_9setDefaultParams, METH_O, 0};
14879 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14880  PyObject *__pyx_r = 0;
14881  __Pyx_RefNannyDeclarations
14882  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
14883  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
14884 
14885  /* function exit code */
14886  __Pyx_RefNannyFinishContext();
14887  return __pyx_r;
14888 }
14889 
14890 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14891  PyObject *__pyx_r = NULL;
14892  __Pyx_RefNannyDeclarations
14893  PyObject *__pyx_t_1 = NULL;
14894  int __pyx_lineno = 0;
14895  const char *__pyx_filename = NULL;
14896  int __pyx_clineno = 0;
14897  __Pyx_RefNannySetupContext("setDefaultParams", 0);
14898 
14899  /* "espressomd/interactions.pyx":964
14900  *
14901  * def setDefaultParams(self):
14902  * self._params = {"A0_l": 1., "ka_l": 0} # <<<<<<<<<<<<<<
14903  *
14904  * def _getParamsFromEsCore(self):
14905  */
14906  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14907  __Pyx_GOTREF(__pyx_t_1);
14908  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_A0_l, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14909  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ka_l, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14910  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14911  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
14912 
14913  /* "espressomd/interactions.pyx":963
14914  * return "A0_l", "ka_l"
14915  *
14916  * def setDefaultParams(self): # <<<<<<<<<<<<<<
14917  * self._params = {"A0_l": 1., "ka_l": 0}
14918  *
14919  */
14920 
14921  /* function exit code */
14922  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14923  goto __pyx_L0;
14924  __pyx_L1_error:;
14925  __Pyx_XDECREF(__pyx_t_1);
14926  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Local.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
14927  __pyx_r = NULL;
14928  __pyx_L0:;
14929  __Pyx_XGIVEREF(__pyx_r);
14930  __Pyx_RefNannyFinishContext();
14931  return __pyx_r;
14932 }
14933 
14934 /* "espressomd/interactions.pyx":966
14935  * self._params = {"A0_l": 1., "ka_l": 0}
14936  *
14937  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
14938  * return \
14939  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
14940  */
14941 
14942 /* Python wrapper */
14943 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
14944 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_11_getParamsFromEsCore, METH_O, 0};
14945 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
14946  PyObject *__pyx_r = 0;
14947  __Pyx_RefNannyDeclarations
14948  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
14949  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
14950 
14951  /* function exit code */
14952  __Pyx_RefNannyFinishContext();
14953  return __pyx_r;
14954 }
14955 
14956 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
14957  PyObject *__pyx_r = NULL;
14958  __Pyx_RefNannyDeclarations
14959  PyObject *__pyx_t_1 = NULL;
14960  PyObject *__pyx_t_2 = NULL;
14961  Py_ssize_t __pyx_t_3;
14962  int __pyx_lineno = 0;
14963  const char *__pyx_filename = NULL;
14964  int __pyx_clineno = 0;
14965  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
14966 
14967  /* "espressomd/interactions.pyx":967
14968  *
14969  * def _getParamsFromEsCore(self):
14970  * return \ # <<<<<<<<<<<<<<
14971  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
14972  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
14973  */
14974  __Pyx_XDECREF(__pyx_r);
14975 
14976  /* "espressomd/interactions.pyx":968
14977  * def _getParamsFromEsCore(self):
14978  * return \
14979  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l, # <<<<<<<<<<<<<<
14980  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
14981  *
14982  */
14983  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14984  __Pyx_GOTREF(__pyx_t_1);
14985  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14986  __Pyx_GOTREF(__pyx_t_2);
14987  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14988  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14989  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.area_force_local.A0_l); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14990  __Pyx_GOTREF(__pyx_t_2);
14991  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_A0_l, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
14992  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
14993 
14994  /* "espressomd/interactions.pyx":969
14995  * return \
14996  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
14997  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l} # <<<<<<<<<<<<<<
14998  *
14999  * def _setParamsInEsCore(self):
15000  */
15001  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15002  __Pyx_GOTREF(__pyx_t_2);
15003  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15004  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15005  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.area_force_local.ka_l); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15006  __Pyx_GOTREF(__pyx_t_2);
15007  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ka_l, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15008  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15009  __pyx_r = __pyx_t_1;
15010  __pyx_t_1 = 0;
15011  goto __pyx_L0;
15012 
15013  /* "espressomd/interactions.pyx":966
15014  * self._params = {"A0_l": 1., "ka_l": 0}
15015  *
15016  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
15017  * return \
15018  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
15019  */
15020 
15021  /* function exit code */
15022  __pyx_L1_error:;
15023  __Pyx_XDECREF(__pyx_t_1);
15024  __Pyx_XDECREF(__pyx_t_2);
15025  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Local._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
15026  __pyx_r = NULL;
15027  __pyx_L0:;
15028  __Pyx_XGIVEREF(__pyx_r);
15029  __Pyx_RefNannyFinishContext();
15030  return __pyx_r;
15031 }
15032 
15033 /* "espressomd/interactions.pyx":971
15034  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
15035  *
15036  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
15037  * area_force_local_set_params(
15038  * self._bondId, self._params["A0_l"], self._params["ka_l"])
15039  */
15040 
15041 /* Python wrapper */
15042 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15043 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Area_Force_Local_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Area_Force_Local_13_setParamsInEsCore, METH_O, 0};
15044 static PyObject *__pyx_pw_10espressomd_12interactions_16Area_Force_Local_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15045  PyObject *__pyx_r = 0;
15046  __Pyx_RefNannyDeclarations
15047  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
15048  __pyx_r = __pyx_pf_10espressomd_12interactions_16Area_Force_Local_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
15049 
15050  /* function exit code */
15051  __Pyx_RefNannyFinishContext();
15052  return __pyx_r;
15053 }
15054 
15055 static PyObject *__pyx_pf_10espressomd_12interactions_16Area_Force_Local_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15056  PyObject *__pyx_r = NULL;
15057  __Pyx_RefNannyDeclarations
15058  PyObject *__pyx_t_1 = NULL;
15059  int __pyx_t_2;
15060  PyObject *__pyx_t_3 = NULL;
15061  double __pyx_t_4;
15062  double __pyx_t_5;
15063  int __pyx_lineno = 0;
15064  const char *__pyx_filename = NULL;
15065  int __pyx_clineno = 0;
15066  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
15067 
15068  /* "espressomd/interactions.pyx":973
15069  * def _setParamsInEsCore(self):
15070  * area_force_local_set_params(
15071  * self._bondId, self._params["A0_l"], self._params["ka_l"]) # <<<<<<<<<<<<<<
15072  *
15073  *
15074  */
15075  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15076  __Pyx_GOTREF(__pyx_t_1);
15077  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15078  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15079  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15080  __Pyx_GOTREF(__pyx_t_1);
15081  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_A0_l); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
15082  __Pyx_GOTREF(__pyx_t_3);
15083  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15084  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15085  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15086  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15087  __Pyx_GOTREF(__pyx_t_3);
15088  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_ka_l); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
15089  __Pyx_GOTREF(__pyx_t_1);
15090  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15091  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 973; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15092  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15093 
15094  /* "espressomd/interactions.pyx":972
15095  *
15096  * def _setParamsInEsCore(self):
15097  * area_force_local_set_params( # <<<<<<<<<<<<<<
15098  * self._bondId, self._params["A0_l"], self._params["ka_l"])
15099  *
15100  */
15101  area_force_local_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
15102 
15103  /* "espressomd/interactions.pyx":971
15104  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
15105  *
15106  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
15107  * area_force_local_set_params(
15108  * self._bondId, self._params["A0_l"], self._params["ka_l"])
15109  */
15110 
15111  /* function exit code */
15112  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15113  goto __pyx_L0;
15114  __pyx_L1_error:;
15115  __Pyx_XDECREF(__pyx_t_1);
15116  __Pyx_XDECREF(__pyx_t_3);
15117  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Local._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
15118  __pyx_r = NULL;
15119  __pyx_L0:;
15120  __Pyx_XGIVEREF(__pyx_r);
15121  __Pyx_RefNannyFinishContext();
15122  return __pyx_r;
15123 }
15124 
15125 /* "espressomd/interactions.pyx":978
15126  * class Bending_Force(BondedInteraction):
15127  *
15128  * def typeNumber(self): # <<<<<<<<<<<<<<
15129  * return 18
15130  *
15131  */
15132 
15133 /* Python wrapper */
15134 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15135 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_1typeNumber, METH_O, 0};
15136 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15137  PyObject *__pyx_r = 0;
15138  __Pyx_RefNannyDeclarations
15139  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
15140  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
15141 
15142  /* function exit code */
15143  __Pyx_RefNannyFinishContext();
15144  return __pyx_r;
15145 }
15146 
15147 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15148  PyObject *__pyx_r = NULL;
15149  __Pyx_RefNannyDeclarations
15150  __Pyx_RefNannySetupContext("typeNumber", 0);
15151 
15152  /* "espressomd/interactions.pyx":979
15153  *
15154  * def typeNumber(self):
15155  * return 18 # <<<<<<<<<<<<<<
15156  *
15157  * def typeName(self):
15158  */
15159  __Pyx_XDECREF(__pyx_r);
15160  __Pyx_INCREF(__pyx_int_18);
15161  __pyx_r = __pyx_int_18;
15162  goto __pyx_L0;
15163 
15164  /* "espressomd/interactions.pyx":978
15165  * class Bending_Force(BondedInteraction):
15166  *
15167  * def typeNumber(self): # <<<<<<<<<<<<<<
15168  * return 18
15169  *
15170  */
15171 
15172  /* function exit code */
15173  __pyx_L0:;
15174  __Pyx_XGIVEREF(__pyx_r);
15175  __Pyx_RefNannyFinishContext();
15176  return __pyx_r;
15177 }
15178 
15179 /* "espressomd/interactions.pyx":981
15180  * return 18
15181  *
15182  * def typeName(self): # <<<<<<<<<<<<<<
15183  * return "BENDING_FORCE"
15184  *
15185  */
15186 
15187 /* Python wrapper */
15188 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15189 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_3typeName, METH_O, 0};
15190 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15191  PyObject *__pyx_r = 0;
15192  __Pyx_RefNannyDeclarations
15193  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
15194  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
15195 
15196  /* function exit code */
15197  __Pyx_RefNannyFinishContext();
15198  return __pyx_r;
15199 }
15200 
15201 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15202  PyObject *__pyx_r = NULL;
15203  __Pyx_RefNannyDeclarations
15204  __Pyx_RefNannySetupContext("typeName", 0);
15205 
15206  /* "espressomd/interactions.pyx":982
15207  *
15208  * def typeName(self):
15209  * return "BENDING_FORCE" # <<<<<<<<<<<<<<
15210  *
15211  * def validKeys(self):
15212  */
15213  __Pyx_XDECREF(__pyx_r);
15214  __Pyx_INCREF(__pyx_n_s_BENDING_FORCE);
15215  __pyx_r = __pyx_n_s_BENDING_FORCE;
15216  goto __pyx_L0;
15217 
15218  /* "espressomd/interactions.pyx":981
15219  * return 18
15220  *
15221  * def typeName(self): # <<<<<<<<<<<<<<
15222  * return "BENDING_FORCE"
15223  *
15224  */
15225 
15226  /* function exit code */
15227  __pyx_L0:;
15228  __Pyx_XGIVEREF(__pyx_r);
15229  __Pyx_RefNannyFinishContext();
15230  return __pyx_r;
15231 }
15232 
15233 /* "espressomd/interactions.pyx":984
15234  * return "BENDING_FORCE"
15235  *
15236  * def validKeys(self): # <<<<<<<<<<<<<<
15237  * return "phi0", "kb"
15238  *
15239  */
15240 
15241 /* Python wrapper */
15242 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15243 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_5validKeys, METH_O, 0};
15244 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15245  PyObject *__pyx_r = 0;
15246  __Pyx_RefNannyDeclarations
15247  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
15248  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
15249 
15250  /* function exit code */
15251  __Pyx_RefNannyFinishContext();
15252  return __pyx_r;
15253 }
15254 
15255 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15256  PyObject *__pyx_r = NULL;
15257  __Pyx_RefNannyDeclarations
15258  __Pyx_RefNannySetupContext("validKeys", 0);
15259 
15260  /* "espressomd/interactions.pyx":985
15261  *
15262  * def validKeys(self):
15263  * return "phi0", "kb" # <<<<<<<<<<<<<<
15264  *
15265  * def requiredKeys(self):
15266  */
15267  __Pyx_XDECREF(__pyx_r);
15268  __Pyx_INCREF(__pyx_tuple__58);
15269  __pyx_r = __pyx_tuple__58;
15270  goto __pyx_L0;
15271 
15272  /* "espressomd/interactions.pyx":984
15273  * return "BENDING_FORCE"
15274  *
15275  * def validKeys(self): # <<<<<<<<<<<<<<
15276  * return "phi0", "kb"
15277  *
15278  */
15279 
15280  /* function exit code */
15281  __pyx_L0:;
15282  __Pyx_XGIVEREF(__pyx_r);
15283  __Pyx_RefNannyFinishContext();
15284  return __pyx_r;
15285 }
15286 
15287 /* "espressomd/interactions.pyx":987
15288  * return "phi0", "kb"
15289  *
15290  * def requiredKeys(self): # <<<<<<<<<<<<<<
15291  * return "phi0", "kb"
15292  *
15293  */
15294 
15295 /* Python wrapper */
15296 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15297 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_7requiredKeys, METH_O, 0};
15298 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15299  PyObject *__pyx_r = 0;
15300  __Pyx_RefNannyDeclarations
15301  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
15302  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
15303 
15304  /* function exit code */
15305  __Pyx_RefNannyFinishContext();
15306  return __pyx_r;
15307 }
15308 
15309 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15310  PyObject *__pyx_r = NULL;
15311  __Pyx_RefNannyDeclarations
15312  __Pyx_RefNannySetupContext("requiredKeys", 0);
15313 
15314  /* "espressomd/interactions.pyx":988
15315  *
15316  * def requiredKeys(self):
15317  * return "phi0", "kb" # <<<<<<<<<<<<<<
15318  *
15319  * def setDefaultParams(self):
15320  */
15321  __Pyx_XDECREF(__pyx_r);
15322  __Pyx_INCREF(__pyx_tuple__59);
15323  __pyx_r = __pyx_tuple__59;
15324  goto __pyx_L0;
15325 
15326  /* "espressomd/interactions.pyx":987
15327  * return "phi0", "kb"
15328  *
15329  * def requiredKeys(self): # <<<<<<<<<<<<<<
15330  * return "phi0", "kb"
15331  *
15332  */
15333 
15334  /* function exit code */
15335  __pyx_L0:;
15336  __Pyx_XGIVEREF(__pyx_r);
15337  __Pyx_RefNannyFinishContext();
15338  return __pyx_r;
15339 }
15340 
15341 /* "espressomd/interactions.pyx":990
15342  * return "phi0", "kb"
15343  *
15344  * def setDefaultParams(self): # <<<<<<<<<<<<<<
15345  * self._params = {"phi0": 1., "kb": 0}
15346  *
15347  */
15348 
15349 /* Python wrapper */
15350 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15351 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_9setDefaultParams, METH_O, 0};
15352 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15353  PyObject *__pyx_r = 0;
15354  __Pyx_RefNannyDeclarations
15355  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
15356  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
15357 
15358  /* function exit code */
15359  __Pyx_RefNannyFinishContext();
15360  return __pyx_r;
15361 }
15362 
15363 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15364  PyObject *__pyx_r = NULL;
15365  __Pyx_RefNannyDeclarations
15366  PyObject *__pyx_t_1 = NULL;
15367  int __pyx_lineno = 0;
15368  const char *__pyx_filename = NULL;
15369  int __pyx_clineno = 0;
15370  __Pyx_RefNannySetupContext("setDefaultParams", 0);
15371 
15372  /* "espressomd/interactions.pyx":991
15373  *
15374  * def setDefaultParams(self):
15375  * self._params = {"phi0": 1., "kb": 0} # <<<<<<<<<<<<<<
15376  *
15377  * def _getParamsFromEsCore(self):
15378  */
15379  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15380  __Pyx_GOTREF(__pyx_t_1);
15381  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15382  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kb, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15383  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15384  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15385 
15386  /* "espressomd/interactions.pyx":990
15387  * return "phi0", "kb"
15388  *
15389  * def setDefaultParams(self): # <<<<<<<<<<<<<<
15390  * self._params = {"phi0": 1., "kb": 0}
15391  *
15392  */
15393 
15394  /* function exit code */
15395  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15396  goto __pyx_L0;
15397  __pyx_L1_error:;
15398  __Pyx_XDECREF(__pyx_t_1);
15399  __Pyx_AddTraceback("espressomd.interactions.Bending_Force.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
15400  __pyx_r = NULL;
15401  __pyx_L0:;
15402  __Pyx_XGIVEREF(__pyx_r);
15403  __Pyx_RefNannyFinishContext();
15404  return __pyx_r;
15405 }
15406 
15407 /* "espressomd/interactions.pyx":993
15408  * self._params = {"phi0": 1., "kb": 0}
15409  *
15410  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
15411  * return \
15412  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
15413  */
15414 
15415 /* Python wrapper */
15416 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15417 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_11_getParamsFromEsCore, METH_O, 0};
15418 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15419  PyObject *__pyx_r = 0;
15420  __Pyx_RefNannyDeclarations
15421  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
15422  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
15423 
15424  /* function exit code */
15425  __Pyx_RefNannyFinishContext();
15426  return __pyx_r;
15427 }
15428 
15429 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15430  PyObject *__pyx_r = NULL;
15431  __Pyx_RefNannyDeclarations
15432  PyObject *__pyx_t_1 = NULL;
15433  PyObject *__pyx_t_2 = NULL;
15434  Py_ssize_t __pyx_t_3;
15435  int __pyx_lineno = 0;
15436  const char *__pyx_filename = NULL;
15437  int __pyx_clineno = 0;
15438  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
15439 
15440  /* "espressomd/interactions.pyx":994
15441  *
15442  * def _getParamsFromEsCore(self):
15443  * return \ # <<<<<<<<<<<<<<
15444  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
15445  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
15446  */
15447  __Pyx_XDECREF(__pyx_r);
15448 
15449  /* "espressomd/interactions.pyx":995
15450  * def _getParamsFromEsCore(self):
15451  * return \
15452  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0, # <<<<<<<<<<<<<<
15453  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
15454  *
15455  */
15456  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15457  __Pyx_GOTREF(__pyx_t_1);
15458  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15459  __Pyx_GOTREF(__pyx_t_2);
15460  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15461  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15462  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.bending_force.phi0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15463  __Pyx_GOTREF(__pyx_t_2);
15464  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_phi0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15465  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15466 
15467  /* "espressomd/interactions.pyx":996
15468  * return \
15469  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
15470  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb} # <<<<<<<<<<<<<<
15471  *
15472  * def _setParamsInEsCore(self):
15473  */
15474  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15475  __Pyx_GOTREF(__pyx_t_2);
15476  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15477  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15478  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.bending_force.kb); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15479  __Pyx_GOTREF(__pyx_t_2);
15480  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kb, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15481  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15482  __pyx_r = __pyx_t_1;
15483  __pyx_t_1 = 0;
15484  goto __pyx_L0;
15485 
15486  /* "espressomd/interactions.pyx":993
15487  * self._params = {"phi0": 1., "kb": 0}
15488  *
15489  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
15490  * return \
15491  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
15492  */
15493 
15494  /* function exit code */
15495  __pyx_L1_error:;
15496  __Pyx_XDECREF(__pyx_t_1);
15497  __Pyx_XDECREF(__pyx_t_2);
15498  __Pyx_AddTraceback("espressomd.interactions.Bending_Force._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
15499  __pyx_r = NULL;
15500  __pyx_L0:;
15501  __Pyx_XGIVEREF(__pyx_r);
15502  __Pyx_RefNannyFinishContext();
15503  return __pyx_r;
15504 }
15505 
15506 /* "espressomd/interactions.pyx":998
15507  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
15508  *
15509  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
15510  * bending_force_set_params(
15511  * self._bondId, self._params["phi0"], self._params["kb"])
15512  */
15513 
15514 /* Python wrapper */
15515 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15516 static PyMethodDef __pyx_mdef_10espressomd_12interactions_13Bending_Force_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_13Bending_Force_13_setParamsInEsCore, METH_O, 0};
15517 static PyObject *__pyx_pw_10espressomd_12interactions_13Bending_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15518  PyObject *__pyx_r = 0;
15519  __Pyx_RefNannyDeclarations
15520  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
15521  __pyx_r = __pyx_pf_10espressomd_12interactions_13Bending_Force_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
15522 
15523  /* function exit code */
15524  __Pyx_RefNannyFinishContext();
15525  return __pyx_r;
15526 }
15527 
15528 static PyObject *__pyx_pf_10espressomd_12interactions_13Bending_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15529  PyObject *__pyx_r = NULL;
15530  __Pyx_RefNannyDeclarations
15531  PyObject *__pyx_t_1 = NULL;
15532  int __pyx_t_2;
15533  PyObject *__pyx_t_3 = NULL;
15534  double __pyx_t_4;
15535  double __pyx_t_5;
15536  int __pyx_lineno = 0;
15537  const char *__pyx_filename = NULL;
15538  int __pyx_clineno = 0;
15539  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
15540 
15541  /* "espressomd/interactions.pyx":1000
15542  * def _setParamsInEsCore(self):
15543  * bending_force_set_params(
15544  * self._bondId, self._params["phi0"], self._params["kb"]) # <<<<<<<<<<<<<<
15545  *
15546  *
15547  */
15548  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15549  __Pyx_GOTREF(__pyx_t_1);
15550  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15551  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15552  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15553  __Pyx_GOTREF(__pyx_t_1);
15554  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_phi0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
15555  __Pyx_GOTREF(__pyx_t_3);
15556  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15557  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15558  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15559  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15560  __Pyx_GOTREF(__pyx_t_3);
15561  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_kb); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
15562  __Pyx_GOTREF(__pyx_t_1);
15563  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
15564  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15565  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15566 
15567  /* "espressomd/interactions.pyx":999
15568  *
15569  * def _setParamsInEsCore(self):
15570  * bending_force_set_params( # <<<<<<<<<<<<<<
15571  * self._bondId, self._params["phi0"], self._params["kb"])
15572  *
15573  */
15574  bending_force_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
15575 
15576  /* "espressomd/interactions.pyx":998
15577  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
15578  *
15579  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
15580  * bending_force_set_params(
15581  * self._bondId, self._params["phi0"], self._params["kb"])
15582  */
15583 
15584  /* function exit code */
15585  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15586  goto __pyx_L0;
15587  __pyx_L1_error:;
15588  __Pyx_XDECREF(__pyx_t_1);
15589  __Pyx_XDECREF(__pyx_t_3);
15590  __Pyx_AddTraceback("espressomd.interactions.Bending_Force._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
15591  __pyx_r = NULL;
15592  __pyx_L0:;
15593  __Pyx_XGIVEREF(__pyx_r);
15594  __Pyx_RefNannyFinishContext();
15595  return __pyx_r;
15596 }
15597 
15598 /* "espressomd/interactions.pyx":1005
15599  * class Volume_Force(BondedInteraction):
15600  *
15601  * def typeNumber(self): # <<<<<<<<<<<<<<
15602  * return 19
15603  *
15604  */
15605 
15606 /* Python wrapper */
15607 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15608 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_1typeNumber, METH_O, 0};
15609 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15610  PyObject *__pyx_r = 0;
15611  __Pyx_RefNannyDeclarations
15612  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
15613  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
15614 
15615  /* function exit code */
15616  __Pyx_RefNannyFinishContext();
15617  return __pyx_r;
15618 }
15619 
15620 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15621  PyObject *__pyx_r = NULL;
15622  __Pyx_RefNannyDeclarations
15623  __Pyx_RefNannySetupContext("typeNumber", 0);
15624 
15625  /* "espressomd/interactions.pyx":1006
15626  *
15627  * def typeNumber(self):
15628  * return 19 # <<<<<<<<<<<<<<
15629  *
15630  * def typeName(self):
15631  */
15632  __Pyx_XDECREF(__pyx_r);
15633  __Pyx_INCREF(__pyx_int_19);
15634  __pyx_r = __pyx_int_19;
15635  goto __pyx_L0;
15636 
15637  /* "espressomd/interactions.pyx":1005
15638  * class Volume_Force(BondedInteraction):
15639  *
15640  * def typeNumber(self): # <<<<<<<<<<<<<<
15641  * return 19
15642  *
15643  */
15644 
15645  /* function exit code */
15646  __pyx_L0:;
15647  __Pyx_XGIVEREF(__pyx_r);
15648  __Pyx_RefNannyFinishContext();
15649  return __pyx_r;
15650 }
15651 
15652 /* "espressomd/interactions.pyx":1008
15653  * return 19
15654  *
15655  * def typeName(self): # <<<<<<<<<<<<<<
15656  * return "VOLUME_FORCE"
15657  *
15658  */
15659 
15660 /* Python wrapper */
15661 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15662 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_3typeName, METH_O, 0};
15663 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15664  PyObject *__pyx_r = 0;
15665  __Pyx_RefNannyDeclarations
15666  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
15667  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
15668 
15669  /* function exit code */
15670  __Pyx_RefNannyFinishContext();
15671  return __pyx_r;
15672 }
15673 
15674 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15675  PyObject *__pyx_r = NULL;
15676  __Pyx_RefNannyDeclarations
15677  __Pyx_RefNannySetupContext("typeName", 0);
15678 
15679  /* "espressomd/interactions.pyx":1009
15680  *
15681  * def typeName(self):
15682  * return "VOLUME_FORCE" # <<<<<<<<<<<<<<
15683  *
15684  * def validKeys(self):
15685  */
15686  __Pyx_XDECREF(__pyx_r);
15687  __Pyx_INCREF(__pyx_n_s_VOLUME_FORCE);
15688  __pyx_r = __pyx_n_s_VOLUME_FORCE;
15689  goto __pyx_L0;
15690 
15691  /* "espressomd/interactions.pyx":1008
15692  * return 19
15693  *
15694  * def typeName(self): # <<<<<<<<<<<<<<
15695  * return "VOLUME_FORCE"
15696  *
15697  */
15698 
15699  /* function exit code */
15700  __pyx_L0:;
15701  __Pyx_XGIVEREF(__pyx_r);
15702  __Pyx_RefNannyFinishContext();
15703  return __pyx_r;
15704 }
15705 
15706 /* "espressomd/interactions.pyx":1011
15707  * return "VOLUME_FORCE"
15708  *
15709  * def validKeys(self): # <<<<<<<<<<<<<<
15710  * return "V0", "kv"
15711  *
15712  */
15713 
15714 /* Python wrapper */
15715 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15716 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_5validKeys, METH_O, 0};
15717 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15718  PyObject *__pyx_r = 0;
15719  __Pyx_RefNannyDeclarations
15720  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
15721  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
15722 
15723  /* function exit code */
15724  __Pyx_RefNannyFinishContext();
15725  return __pyx_r;
15726 }
15727 
15728 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15729  PyObject *__pyx_r = NULL;
15730  __Pyx_RefNannyDeclarations
15731  __Pyx_RefNannySetupContext("validKeys", 0);
15732 
15733  /* "espressomd/interactions.pyx":1012
15734  *
15735  * def validKeys(self):
15736  * return "V0", "kv" # <<<<<<<<<<<<<<
15737  *
15738  * def requiredKeys(self):
15739  */
15740  __Pyx_XDECREF(__pyx_r);
15741  __Pyx_INCREF(__pyx_tuple__60);
15742  __pyx_r = __pyx_tuple__60;
15743  goto __pyx_L0;
15744 
15745  /* "espressomd/interactions.pyx":1011
15746  * return "VOLUME_FORCE"
15747  *
15748  * def validKeys(self): # <<<<<<<<<<<<<<
15749  * return "V0", "kv"
15750  *
15751  */
15752 
15753  /* function exit code */
15754  __pyx_L0:;
15755  __Pyx_XGIVEREF(__pyx_r);
15756  __Pyx_RefNannyFinishContext();
15757  return __pyx_r;
15758 }
15759 
15760 /* "espressomd/interactions.pyx":1014
15761  * return "V0", "kv"
15762  *
15763  * def requiredKeys(self): # <<<<<<<<<<<<<<
15764  * return "V0", "kv"
15765  *
15766  */
15767 
15768 /* Python wrapper */
15769 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15770 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_7requiredKeys, METH_O, 0};
15771 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15772  PyObject *__pyx_r = 0;
15773  __Pyx_RefNannyDeclarations
15774  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
15775  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
15776 
15777  /* function exit code */
15778  __Pyx_RefNannyFinishContext();
15779  return __pyx_r;
15780 }
15781 
15782 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
15783  PyObject *__pyx_r = NULL;
15784  __Pyx_RefNannyDeclarations
15785  __Pyx_RefNannySetupContext("requiredKeys", 0);
15786 
15787  /* "espressomd/interactions.pyx":1015
15788  *
15789  * def requiredKeys(self):
15790  * return "V0", "kv" # <<<<<<<<<<<<<<
15791  *
15792  * def setDefaultParams(self):
15793  */
15794  __Pyx_XDECREF(__pyx_r);
15795  __Pyx_INCREF(__pyx_tuple__61);
15796  __pyx_r = __pyx_tuple__61;
15797  goto __pyx_L0;
15798 
15799  /* "espressomd/interactions.pyx":1014
15800  * return "V0", "kv"
15801  *
15802  * def requiredKeys(self): # <<<<<<<<<<<<<<
15803  * return "V0", "kv"
15804  *
15805  */
15806 
15807  /* function exit code */
15808  __pyx_L0:;
15809  __Pyx_XGIVEREF(__pyx_r);
15810  __Pyx_RefNannyFinishContext();
15811  return __pyx_r;
15812 }
15813 
15814 /* "espressomd/interactions.pyx":1017
15815  * return "V0", "kv"
15816  *
15817  * def setDefaultParams(self): # <<<<<<<<<<<<<<
15818  * self._params = {"V0": 1., "kv": 0}
15819  *
15820  */
15821 
15822 /* Python wrapper */
15823 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15824 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_9setDefaultParams, METH_O, 0};
15825 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15826  PyObject *__pyx_r = 0;
15827  __Pyx_RefNannyDeclarations
15828  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
15829  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
15830 
15831  /* function exit code */
15832  __Pyx_RefNannyFinishContext();
15833  return __pyx_r;
15834 }
15835 
15836 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15837  PyObject *__pyx_r = NULL;
15838  __Pyx_RefNannyDeclarations
15839  PyObject *__pyx_t_1 = NULL;
15840  int __pyx_lineno = 0;
15841  const char *__pyx_filename = NULL;
15842  int __pyx_clineno = 0;
15843  __Pyx_RefNannySetupContext("setDefaultParams", 0);
15844 
15845  /* "espressomd/interactions.pyx":1018
15846  *
15847  * def setDefaultParams(self):
15848  * self._params = {"V0": 1., "kv": 0} # <<<<<<<<<<<<<<
15849  *
15850  * def _getParamsFromEsCore(self):
15851  */
15852  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15853  __Pyx_GOTREF(__pyx_t_1);
15854  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_V0, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15855  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kv, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15856  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15857  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
15858 
15859  /* "espressomd/interactions.pyx":1017
15860  * return "V0", "kv"
15861  *
15862  * def setDefaultParams(self): # <<<<<<<<<<<<<<
15863  * self._params = {"V0": 1., "kv": 0}
15864  *
15865  */
15866 
15867  /* function exit code */
15868  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
15869  goto __pyx_L0;
15870  __pyx_L1_error:;
15871  __Pyx_XDECREF(__pyx_t_1);
15872  __Pyx_AddTraceback("espressomd.interactions.Volume_Force.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
15873  __pyx_r = NULL;
15874  __pyx_L0:;
15875  __Pyx_XGIVEREF(__pyx_r);
15876  __Pyx_RefNannyFinishContext();
15877  return __pyx_r;
15878 }
15879 
15880 /* "espressomd/interactions.pyx":1020
15881  * self._params = {"V0": 1., "kv": 0}
15882  *
15883  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
15884  * return \
15885  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
15886  */
15887 
15888 /* Python wrapper */
15889 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15890 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_11_getParamsFromEsCore, METH_O, 0};
15891 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15892  PyObject *__pyx_r = 0;
15893  __Pyx_RefNannyDeclarations
15894  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
15895  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
15896 
15897  /* function exit code */
15898  __Pyx_RefNannyFinishContext();
15899  return __pyx_r;
15900 }
15901 
15902 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
15903  PyObject *__pyx_r = NULL;
15904  __Pyx_RefNannyDeclarations
15905  PyObject *__pyx_t_1 = NULL;
15906  PyObject *__pyx_t_2 = NULL;
15907  Py_ssize_t __pyx_t_3;
15908  int __pyx_lineno = 0;
15909  const char *__pyx_filename = NULL;
15910  int __pyx_clineno = 0;
15911  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
15912 
15913  /* "espressomd/interactions.pyx":1021
15914  *
15915  * def _getParamsFromEsCore(self):
15916  * return \ # <<<<<<<<<<<<<<
15917  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
15918  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
15919  */
15920  __Pyx_XDECREF(__pyx_r);
15921 
15922  /* "espressomd/interactions.pyx":1022
15923  * def _getParamsFromEsCore(self):
15924  * return \
15925  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0, # <<<<<<<<<<<<<<
15926  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
15927  *
15928  */
15929  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15930  __Pyx_GOTREF(__pyx_t_1);
15931  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15932  __Pyx_GOTREF(__pyx_t_2);
15933  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15934  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15935  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.volume_force.V0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15936  __Pyx_GOTREF(__pyx_t_2);
15937  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_V0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15938  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15939 
15940  /* "espressomd/interactions.pyx":1023
15941  * return \
15942  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
15943  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv} # <<<<<<<<<<<<<<
15944  *
15945  * def _setParamsInEsCore(self):
15946  */
15947  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15948  __Pyx_GOTREF(__pyx_t_2);
15949  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15950  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15951  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.volume_force.kv); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15952  __Pyx_GOTREF(__pyx_t_2);
15953  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kv, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
15954  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
15955  __pyx_r = __pyx_t_1;
15956  __pyx_t_1 = 0;
15957  goto __pyx_L0;
15958 
15959  /* "espressomd/interactions.pyx":1020
15960  * self._params = {"V0": 1., "kv": 0}
15961  *
15962  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
15963  * return \
15964  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
15965  */
15966 
15967  /* function exit code */
15968  __pyx_L1_error:;
15969  __Pyx_XDECREF(__pyx_t_1);
15970  __Pyx_XDECREF(__pyx_t_2);
15971  __Pyx_AddTraceback("espressomd.interactions.Volume_Force._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
15972  __pyx_r = NULL;
15973  __pyx_L0:;
15974  __Pyx_XGIVEREF(__pyx_r);
15975  __Pyx_RefNannyFinishContext();
15976  return __pyx_r;
15977 }
15978 
15979 /* "espressomd/interactions.pyx":1025
15980  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
15981  *
15982  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
15983  * volume_force_set_params(
15984  * self._bondId, self._params["V0"], self._params["kv"])
15985  */
15986 
15987 /* Python wrapper */
15988 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
15989 static PyMethodDef __pyx_mdef_10espressomd_12interactions_12Volume_Force_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_12Volume_Force_13_setParamsInEsCore, METH_O, 0};
15990 static PyObject *__pyx_pw_10espressomd_12interactions_12Volume_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
15991  PyObject *__pyx_r = 0;
15992  __Pyx_RefNannyDeclarations
15993  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
15994  __pyx_r = __pyx_pf_10espressomd_12interactions_12Volume_Force_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
15995 
15996  /* function exit code */
15997  __Pyx_RefNannyFinishContext();
15998  return __pyx_r;
15999 }
16000 
16001 static PyObject *__pyx_pf_10espressomd_12interactions_12Volume_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16002  PyObject *__pyx_r = NULL;
16003  __Pyx_RefNannyDeclarations
16004  PyObject *__pyx_t_1 = NULL;
16005  int __pyx_t_2;
16006  PyObject *__pyx_t_3 = NULL;
16007  double __pyx_t_4;
16008  double __pyx_t_5;
16009  int __pyx_lineno = 0;
16010  const char *__pyx_filename = NULL;
16011  int __pyx_clineno = 0;
16012  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
16013 
16014  /* "espressomd/interactions.pyx":1027
16015  * def _setParamsInEsCore(self):
16016  * volume_force_set_params(
16017  * self._bondId, self._params["V0"], self._params["kv"]) # <<<<<<<<<<<<<<
16018  *
16019  *
16020  */
16021  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16022  __Pyx_GOTREF(__pyx_t_1);
16023  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16024  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16025  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16026  __Pyx_GOTREF(__pyx_t_1);
16027  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_V0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16028  __Pyx_GOTREF(__pyx_t_3);
16029  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16030  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16031  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16032  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16033  __Pyx_GOTREF(__pyx_t_3);
16034  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_kv); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16035  __Pyx_GOTREF(__pyx_t_1);
16036  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16037  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16038  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16039 
16040  /* "espressomd/interactions.pyx":1026
16041  *
16042  * def _setParamsInEsCore(self):
16043  * volume_force_set_params( # <<<<<<<<<<<<<<
16044  * self._bondId, self._params["V0"], self._params["kv"])
16045  *
16046  */
16047  volume_force_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
16048 
16049  /* "espressomd/interactions.pyx":1025
16050  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
16051  *
16052  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
16053  * volume_force_set_params(
16054  * self._bondId, self._params["V0"], self._params["kv"])
16055  */
16056 
16057  /* function exit code */
16058  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16059  goto __pyx_L0;
16060  __pyx_L1_error:;
16061  __Pyx_XDECREF(__pyx_t_1);
16062  __Pyx_XDECREF(__pyx_t_3);
16063  __Pyx_AddTraceback("espressomd.interactions.Volume_Force._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
16064  __pyx_r = NULL;
16065  __pyx_L0:;
16066  __Pyx_XGIVEREF(__pyx_r);
16067  __Pyx_RefNannyFinishContext();
16068  return __pyx_r;
16069 }
16070 
16071 /* "espressomd/interactions.pyx":1032
16072  * class Area_Force_Global(BondedInteraction):
16073  *
16074  * def typeNumber(self): # <<<<<<<<<<<<<<
16075  * return 20
16076  *
16077  */
16078 
16079 /* Python wrapper */
16080 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16081 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_1typeNumber, METH_O, 0};
16082 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16083  PyObject *__pyx_r = 0;
16084  __Pyx_RefNannyDeclarations
16085  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
16086  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
16087 
16088  /* function exit code */
16089  __Pyx_RefNannyFinishContext();
16090  return __pyx_r;
16091 }
16092 
16093 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16094  PyObject *__pyx_r = NULL;
16095  __Pyx_RefNannyDeclarations
16096  __Pyx_RefNannySetupContext("typeNumber", 0);
16097 
16098  /* "espressomd/interactions.pyx":1033
16099  *
16100  * def typeNumber(self):
16101  * return 20 # <<<<<<<<<<<<<<
16102  *
16103  * def typeName(self):
16104  */
16105  __Pyx_XDECREF(__pyx_r);
16106  __Pyx_INCREF(__pyx_int_20);
16107  __pyx_r = __pyx_int_20;
16108  goto __pyx_L0;
16109 
16110  /* "espressomd/interactions.pyx":1032
16111  * class Area_Force_Global(BondedInteraction):
16112  *
16113  * def typeNumber(self): # <<<<<<<<<<<<<<
16114  * return 20
16115  *
16116  */
16117 
16118  /* function exit code */
16119  __pyx_L0:;
16120  __Pyx_XGIVEREF(__pyx_r);
16121  __Pyx_RefNannyFinishContext();
16122  return __pyx_r;
16123 }
16124 
16125 /* "espressomd/interactions.pyx":1035
16126  * return 20
16127  *
16128  * def typeName(self): # <<<<<<<<<<<<<<
16129  * return "AREA_FORCE_GLOBAL"
16130  *
16131  */
16132 
16133 /* Python wrapper */
16134 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16135 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_3typeName, METH_O, 0};
16136 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16137  PyObject *__pyx_r = 0;
16138  __Pyx_RefNannyDeclarations
16139  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
16140  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
16141 
16142  /* function exit code */
16143  __Pyx_RefNannyFinishContext();
16144  return __pyx_r;
16145 }
16146 
16147 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16148  PyObject *__pyx_r = NULL;
16149  __Pyx_RefNannyDeclarations
16150  __Pyx_RefNannySetupContext("typeName", 0);
16151 
16152  /* "espressomd/interactions.pyx":1036
16153  *
16154  * def typeName(self):
16155  * return "AREA_FORCE_GLOBAL" # <<<<<<<<<<<<<<
16156  *
16157  * def validKeys(self):
16158  */
16159  __Pyx_XDECREF(__pyx_r);
16160  __Pyx_INCREF(__pyx_n_s_AREA_FORCE_GLOBAL);
16161  __pyx_r = __pyx_n_s_AREA_FORCE_GLOBAL;
16162  goto __pyx_L0;
16163 
16164  /* "espressomd/interactions.pyx":1035
16165  * return 20
16166  *
16167  * def typeName(self): # <<<<<<<<<<<<<<
16168  * return "AREA_FORCE_GLOBAL"
16169  *
16170  */
16171 
16172  /* function exit code */
16173  __pyx_L0:;
16174  __Pyx_XGIVEREF(__pyx_r);
16175  __Pyx_RefNannyFinishContext();
16176  return __pyx_r;
16177 }
16178 
16179 /* "espressomd/interactions.pyx":1038
16180  * return "AREA_FORCE_GLOBAL"
16181  *
16182  * def validKeys(self): # <<<<<<<<<<<<<<
16183  * return "A0_g", "ka_g"
16184  *
16185  */
16186 
16187 /* Python wrapper */
16188 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16189 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_5validKeys, METH_O, 0};
16190 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16191  PyObject *__pyx_r = 0;
16192  __Pyx_RefNannyDeclarations
16193  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
16194  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
16195 
16196  /* function exit code */
16197  __Pyx_RefNannyFinishContext();
16198  return __pyx_r;
16199 }
16200 
16201 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16202  PyObject *__pyx_r = NULL;
16203  __Pyx_RefNannyDeclarations
16204  __Pyx_RefNannySetupContext("validKeys", 0);
16205 
16206  /* "espressomd/interactions.pyx":1039
16207  *
16208  * def validKeys(self):
16209  * return "A0_g", "ka_g" # <<<<<<<<<<<<<<
16210  *
16211  * def requiredKeys(self):
16212  */
16213  __Pyx_XDECREF(__pyx_r);
16214  __Pyx_INCREF(__pyx_tuple__62);
16215  __pyx_r = __pyx_tuple__62;
16216  goto __pyx_L0;
16217 
16218  /* "espressomd/interactions.pyx":1038
16219  * return "AREA_FORCE_GLOBAL"
16220  *
16221  * def validKeys(self): # <<<<<<<<<<<<<<
16222  * return "A0_g", "ka_g"
16223  *
16224  */
16225 
16226  /* function exit code */
16227  __pyx_L0:;
16228  __Pyx_XGIVEREF(__pyx_r);
16229  __Pyx_RefNannyFinishContext();
16230  return __pyx_r;
16231 }
16232 
16233 /* "espressomd/interactions.pyx":1041
16234  * return "A0_g", "ka_g"
16235  *
16236  * def requiredKeys(self): # <<<<<<<<<<<<<<
16237  * return "A0_g", "ka_g"
16238  *
16239  */
16240 
16241 /* Python wrapper */
16242 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16243 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_7requiredKeys, METH_O, 0};
16244 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16245  PyObject *__pyx_r = 0;
16246  __Pyx_RefNannyDeclarations
16247  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
16248  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
16249 
16250  /* function exit code */
16251  __Pyx_RefNannyFinishContext();
16252  return __pyx_r;
16253 }
16254 
16255 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16256  PyObject *__pyx_r = NULL;
16257  __Pyx_RefNannyDeclarations
16258  __Pyx_RefNannySetupContext("requiredKeys", 0);
16259 
16260  /* "espressomd/interactions.pyx":1042
16261  *
16262  * def requiredKeys(self):
16263  * return "A0_g", "ka_g" # <<<<<<<<<<<<<<
16264  *
16265  * def setDefaultParams(self):
16266  */
16267  __Pyx_XDECREF(__pyx_r);
16268  __Pyx_INCREF(__pyx_tuple__63);
16269  __pyx_r = __pyx_tuple__63;
16270  goto __pyx_L0;
16271 
16272  /* "espressomd/interactions.pyx":1041
16273  * return "A0_g", "ka_g"
16274  *
16275  * def requiredKeys(self): # <<<<<<<<<<<<<<
16276  * return "A0_g", "ka_g"
16277  *
16278  */
16279 
16280  /* function exit code */
16281  __pyx_L0:;
16282  __Pyx_XGIVEREF(__pyx_r);
16283  __Pyx_RefNannyFinishContext();
16284  return __pyx_r;
16285 }
16286 
16287 /* "espressomd/interactions.pyx":1044
16288  * return "A0_g", "ka_g"
16289  *
16290  * def setDefaultParams(self): # <<<<<<<<<<<<<<
16291  * self._params = {"A0_g": 1., "ka_g": 0}
16292  *
16293  */
16294 
16295 /* Python wrapper */
16296 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16297 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_9setDefaultParams, METH_O, 0};
16298 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16299  PyObject *__pyx_r = 0;
16300  __Pyx_RefNannyDeclarations
16301  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
16302  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
16303 
16304  /* function exit code */
16305  __Pyx_RefNannyFinishContext();
16306  return __pyx_r;
16307 }
16308 
16309 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16310  PyObject *__pyx_r = NULL;
16311  __Pyx_RefNannyDeclarations
16312  PyObject *__pyx_t_1 = NULL;
16313  int __pyx_lineno = 0;
16314  const char *__pyx_filename = NULL;
16315  int __pyx_clineno = 0;
16316  __Pyx_RefNannySetupContext("setDefaultParams", 0);
16317 
16318  /* "espressomd/interactions.pyx":1045
16319  *
16320  * def setDefaultParams(self):
16321  * self._params = {"A0_g": 1., "ka_g": 0} # <<<<<<<<<<<<<<
16322  *
16323  * def _getParamsFromEsCore(self):
16324  */
16325  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16326  __Pyx_GOTREF(__pyx_t_1);
16327  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_A0_g, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16328  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ka_g, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16329  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1045; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16330  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16331 
16332  /* "espressomd/interactions.pyx":1044
16333  * return "A0_g", "ka_g"
16334  *
16335  * def setDefaultParams(self): # <<<<<<<<<<<<<<
16336  * self._params = {"A0_g": 1., "ka_g": 0}
16337  *
16338  */
16339 
16340  /* function exit code */
16341  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16342  goto __pyx_L0;
16343  __pyx_L1_error:;
16344  __Pyx_XDECREF(__pyx_t_1);
16345  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Global.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
16346  __pyx_r = NULL;
16347  __pyx_L0:;
16348  __Pyx_XGIVEREF(__pyx_r);
16349  __Pyx_RefNannyFinishContext();
16350  return __pyx_r;
16351 }
16352 
16353 /* "espressomd/interactions.pyx":1047
16354  * self._params = {"A0_g": 1., "ka_g": 0}
16355  *
16356  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
16357  * return \
16358  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
16359  */
16360 
16361 /* Python wrapper */
16362 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16363 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_11_getParamsFromEsCore, METH_O, 0};
16364 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16365  PyObject *__pyx_r = 0;
16366  __Pyx_RefNannyDeclarations
16367  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
16368  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
16369 
16370  /* function exit code */
16371  __Pyx_RefNannyFinishContext();
16372  return __pyx_r;
16373 }
16374 
16375 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16376  PyObject *__pyx_r = NULL;
16377  __Pyx_RefNannyDeclarations
16378  PyObject *__pyx_t_1 = NULL;
16379  PyObject *__pyx_t_2 = NULL;
16380  Py_ssize_t __pyx_t_3;
16381  int __pyx_lineno = 0;
16382  const char *__pyx_filename = NULL;
16383  int __pyx_clineno = 0;
16384  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
16385 
16386  /* "espressomd/interactions.pyx":1048
16387  *
16388  * def _getParamsFromEsCore(self):
16389  * return \ # <<<<<<<<<<<<<<
16390  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
16391  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
16392  */
16393  __Pyx_XDECREF(__pyx_r);
16394 
16395  /* "espressomd/interactions.pyx":1049
16396  * def _getParamsFromEsCore(self):
16397  * return \
16398  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g, # <<<<<<<<<<<<<<
16399  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
16400  *
16401  */
16402  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16403  __Pyx_GOTREF(__pyx_t_1);
16404  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16405  __Pyx_GOTREF(__pyx_t_2);
16406  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16407  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16408  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.area_force_global.A0_g); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16409  __Pyx_GOTREF(__pyx_t_2);
16410  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_A0_g, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16411  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16412 
16413  /* "espressomd/interactions.pyx":1050
16414  * return \
16415  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
16416  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g} # <<<<<<<<<<<<<<
16417  *
16418  * def _setParamsInEsCore(self):
16419  */
16420  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16421  __Pyx_GOTREF(__pyx_t_2);
16422  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16423  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16424  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.area_force_global.ka_g); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16425  __Pyx_GOTREF(__pyx_t_2);
16426  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ka_g, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16427  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16428  __pyx_r = __pyx_t_1;
16429  __pyx_t_1 = 0;
16430  goto __pyx_L0;
16431 
16432  /* "espressomd/interactions.pyx":1047
16433  * self._params = {"A0_g": 1., "ka_g": 0}
16434  *
16435  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
16436  * return \
16437  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
16438  */
16439 
16440  /* function exit code */
16441  __pyx_L1_error:;
16442  __Pyx_XDECREF(__pyx_t_1);
16443  __Pyx_XDECREF(__pyx_t_2);
16444  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Global._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
16445  __pyx_r = NULL;
16446  __pyx_L0:;
16447  __Pyx_XGIVEREF(__pyx_r);
16448  __Pyx_RefNannyFinishContext();
16449  return __pyx_r;
16450 }
16451 
16452 /* "espressomd/interactions.pyx":1052
16453  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
16454  *
16455  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
16456  * area_force_global_set_params(
16457  * self._bondId, self._params["A0_g"], self._params["ka_g"])
16458  */
16459 
16460 /* Python wrapper */
16461 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16462 static PyMethodDef __pyx_mdef_10espressomd_12interactions_17Area_Force_Global_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_17Area_Force_Global_13_setParamsInEsCore, METH_O, 0};
16463 static PyObject *__pyx_pw_10espressomd_12interactions_17Area_Force_Global_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16464  PyObject *__pyx_r = 0;
16465  __Pyx_RefNannyDeclarations
16466  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
16467  __pyx_r = __pyx_pf_10espressomd_12interactions_17Area_Force_Global_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
16468 
16469  /* function exit code */
16470  __Pyx_RefNannyFinishContext();
16471  return __pyx_r;
16472 }
16473 
16474 static PyObject *__pyx_pf_10espressomd_12interactions_17Area_Force_Global_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16475  PyObject *__pyx_r = NULL;
16476  __Pyx_RefNannyDeclarations
16477  PyObject *__pyx_t_1 = NULL;
16478  int __pyx_t_2;
16479  PyObject *__pyx_t_3 = NULL;
16480  double __pyx_t_4;
16481  double __pyx_t_5;
16482  int __pyx_lineno = 0;
16483  const char *__pyx_filename = NULL;
16484  int __pyx_clineno = 0;
16485  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
16486 
16487  /* "espressomd/interactions.pyx":1054
16488  * def _setParamsInEsCore(self):
16489  * area_force_global_set_params(
16490  * self._bondId, self._params["A0_g"], self._params["ka_g"]) # <<<<<<<<<<<<<<
16491  *
16492  *
16493  */
16494  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16495  __Pyx_GOTREF(__pyx_t_1);
16496  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16497  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16498  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16499  __Pyx_GOTREF(__pyx_t_1);
16500  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_A0_g); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16501  __Pyx_GOTREF(__pyx_t_3);
16502  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16503  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16504  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16505  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16506  __Pyx_GOTREF(__pyx_t_3);
16507  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_ka_g); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16508  __Pyx_GOTREF(__pyx_t_1);
16509  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16510  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1054; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16511  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16512 
16513  /* "espressomd/interactions.pyx":1053
16514  *
16515  * def _setParamsInEsCore(self):
16516  * area_force_global_set_params( # <<<<<<<<<<<<<<
16517  * self._bondId, self._params["A0_g"], self._params["ka_g"])
16518  *
16519  */
16520  area_force_global_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
16521 
16522  /* "espressomd/interactions.pyx":1052
16523  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
16524  *
16525  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
16526  * area_force_global_set_params(
16527  * self._bondId, self._params["A0_g"], self._params["ka_g"])
16528  */
16529 
16530  /* function exit code */
16531  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16532  goto __pyx_L0;
16533  __pyx_L1_error:;
16534  __Pyx_XDECREF(__pyx_t_1);
16535  __Pyx_XDECREF(__pyx_t_3);
16536  __Pyx_AddTraceback("espressomd.interactions.Area_Force_Global._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
16537  __pyx_r = NULL;
16538  __pyx_L0:;
16539  __Pyx_XGIVEREF(__pyx_r);
16540  __Pyx_RefNannyFinishContext();
16541  return __pyx_r;
16542 }
16543 
16544 /* "espressomd/interactions.pyx":1059
16545  * class Stretchlin_Force(BondedInteraction):
16546  *
16547  * def typeNumber(self): # <<<<<<<<<<<<<<
16548  * return 21
16549  *
16550  */
16551 
16552 /* Python wrapper */
16553 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16554 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_1typeNumber = {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_1typeNumber, METH_O, 0};
16555 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_1typeNumber(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16556  PyObject *__pyx_r = 0;
16557  __Pyx_RefNannyDeclarations
16558  __Pyx_RefNannySetupContext("typeNumber (wrapper)", 0);
16559  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_typeNumber(__pyx_self, ((PyObject *)__pyx_v_self));
16560 
16561  /* function exit code */
16562  __Pyx_RefNannyFinishContext();
16563  return __pyx_r;
16564 }
16565 
16566 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_typeNumber(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16567  PyObject *__pyx_r = NULL;
16568  __Pyx_RefNannyDeclarations
16569  __Pyx_RefNannySetupContext("typeNumber", 0);
16570 
16571  /* "espressomd/interactions.pyx":1060
16572  *
16573  * def typeNumber(self):
16574  * return 21 # <<<<<<<<<<<<<<
16575  *
16576  * def typeName(self):
16577  */
16578  __Pyx_XDECREF(__pyx_r);
16579  __Pyx_INCREF(__pyx_int_21);
16580  __pyx_r = __pyx_int_21;
16581  goto __pyx_L0;
16582 
16583  /* "espressomd/interactions.pyx":1059
16584  * class Stretchlin_Force(BondedInteraction):
16585  *
16586  * def typeNumber(self): # <<<<<<<<<<<<<<
16587  * return 21
16588  *
16589  */
16590 
16591  /* function exit code */
16592  __pyx_L0:;
16593  __Pyx_XGIVEREF(__pyx_r);
16594  __Pyx_RefNannyFinishContext();
16595  return __pyx_r;
16596 }
16597 
16598 /* "espressomd/interactions.pyx":1062
16599  * return 21
16600  *
16601  * def typeName(self): # <<<<<<<<<<<<<<
16602  * return "STRETCHLIN_FORCE"
16603  *
16604  */
16605 
16606 /* Python wrapper */
16607 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16608 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_3typeName = {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_3typeName, METH_O, 0};
16609 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_3typeName(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16610  PyObject *__pyx_r = 0;
16611  __Pyx_RefNannyDeclarations
16612  __Pyx_RefNannySetupContext("typeName (wrapper)", 0);
16613  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_2typeName(__pyx_self, ((PyObject *)__pyx_v_self));
16614 
16615  /* function exit code */
16616  __Pyx_RefNannyFinishContext();
16617  return __pyx_r;
16618 }
16619 
16620 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_2typeName(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16621  PyObject *__pyx_r = NULL;
16622  __Pyx_RefNannyDeclarations
16623  __Pyx_RefNannySetupContext("typeName", 0);
16624 
16625  /* "espressomd/interactions.pyx":1063
16626  *
16627  * def typeName(self):
16628  * return "STRETCHLIN_FORCE" # <<<<<<<<<<<<<<
16629  *
16630  * def validKeys(self):
16631  */
16632  __Pyx_XDECREF(__pyx_r);
16633  __Pyx_INCREF(__pyx_n_s_STRETCHLIN_FORCE);
16634  __pyx_r = __pyx_n_s_STRETCHLIN_FORCE;
16635  goto __pyx_L0;
16636 
16637  /* "espressomd/interactions.pyx":1062
16638  * return 21
16639  *
16640  * def typeName(self): # <<<<<<<<<<<<<<
16641  * return "STRETCHLIN_FORCE"
16642  *
16643  */
16644 
16645  /* function exit code */
16646  __pyx_L0:;
16647  __Pyx_XGIVEREF(__pyx_r);
16648  __Pyx_RefNannyFinishContext();
16649  return __pyx_r;
16650 }
16651 
16652 /* "espressomd/interactions.pyx":1065
16653  * return "STRETCHLIN_FORCE"
16654  *
16655  * def validKeys(self): # <<<<<<<<<<<<<<
16656  * return "r0", "kslin"
16657  *
16658  */
16659 
16660 /* Python wrapper */
16661 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16662 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_5validKeys = {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_5validKeys, METH_O, 0};
16663 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_5validKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16664  PyObject *__pyx_r = 0;
16665  __Pyx_RefNannyDeclarations
16666  __Pyx_RefNannySetupContext("validKeys (wrapper)", 0);
16667  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_4validKeys(__pyx_self, ((PyObject *)__pyx_v_self));
16668 
16669  /* function exit code */
16670  __Pyx_RefNannyFinishContext();
16671  return __pyx_r;
16672 }
16673 
16674 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_4validKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16675  PyObject *__pyx_r = NULL;
16676  __Pyx_RefNannyDeclarations
16677  __Pyx_RefNannySetupContext("validKeys", 0);
16678 
16679  /* "espressomd/interactions.pyx":1066
16680  *
16681  * def validKeys(self):
16682  * return "r0", "kslin" # <<<<<<<<<<<<<<
16683  *
16684  * def requiredKeys(self):
16685  */
16686  __Pyx_XDECREF(__pyx_r);
16687  __Pyx_INCREF(__pyx_tuple__64);
16688  __pyx_r = __pyx_tuple__64;
16689  goto __pyx_L0;
16690 
16691  /* "espressomd/interactions.pyx":1065
16692  * return "STRETCHLIN_FORCE"
16693  *
16694  * def validKeys(self): # <<<<<<<<<<<<<<
16695  * return "r0", "kslin"
16696  *
16697  */
16698 
16699  /* function exit code */
16700  __pyx_L0:;
16701  __Pyx_XGIVEREF(__pyx_r);
16702  __Pyx_RefNannyFinishContext();
16703  return __pyx_r;
16704 }
16705 
16706 /* "espressomd/interactions.pyx":1068
16707  * return "r0", "kslin"
16708  *
16709  * def requiredKeys(self): # <<<<<<<<<<<<<<
16710  * return "r0", "kslin"
16711  *
16712  */
16713 
16714 /* Python wrapper */
16715 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16716 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_7requiredKeys = {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_7requiredKeys, METH_O, 0};
16717 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_7requiredKeys(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16718  PyObject *__pyx_r = 0;
16719  __Pyx_RefNannyDeclarations
16720  __Pyx_RefNannySetupContext("requiredKeys (wrapper)", 0);
16721  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_6requiredKeys(__pyx_self, ((PyObject *)__pyx_v_self));
16722 
16723  /* function exit code */
16724  __Pyx_RefNannyFinishContext();
16725  return __pyx_r;
16726 }
16727 
16728 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_6requiredKeys(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) {
16729  PyObject *__pyx_r = NULL;
16730  __Pyx_RefNannyDeclarations
16731  __Pyx_RefNannySetupContext("requiredKeys", 0);
16732 
16733  /* "espressomd/interactions.pyx":1069
16734  *
16735  * def requiredKeys(self):
16736  * return "r0", "kslin" # <<<<<<<<<<<<<<
16737  *
16738  * def setDefaultParams(self):
16739  */
16740  __Pyx_XDECREF(__pyx_r);
16741  __Pyx_INCREF(__pyx_tuple__65);
16742  __pyx_r = __pyx_tuple__65;
16743  goto __pyx_L0;
16744 
16745  /* "espressomd/interactions.pyx":1068
16746  * return "r0", "kslin"
16747  *
16748  * def requiredKeys(self): # <<<<<<<<<<<<<<
16749  * return "r0", "kslin"
16750  *
16751  */
16752 
16753  /* function exit code */
16754  __pyx_L0:;
16755  __Pyx_XGIVEREF(__pyx_r);
16756  __Pyx_RefNannyFinishContext();
16757  return __pyx_r;
16758 }
16759 
16760 /* "espressomd/interactions.pyx":1071
16761  * return "r0", "kslin"
16762  *
16763  * def setDefaultParams(self): # <<<<<<<<<<<<<<
16764  * self._params = {"r0": 1., "kslin": 0}
16765  *
16766  */
16767 
16768 /* Python wrapper */
16769 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16770 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_9setDefaultParams = {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_9setDefaultParams, METH_O, 0};
16771 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_9setDefaultParams(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16772  PyObject *__pyx_r = 0;
16773  __Pyx_RefNannyDeclarations
16774  __Pyx_RefNannySetupContext("setDefaultParams (wrapper)", 0);
16775  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_8setDefaultParams(__pyx_self, ((PyObject *)__pyx_v_self));
16776 
16777  /* function exit code */
16778  __Pyx_RefNannyFinishContext();
16779  return __pyx_r;
16780 }
16781 
16782 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_8setDefaultParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16783  PyObject *__pyx_r = NULL;
16784  __Pyx_RefNannyDeclarations
16785  PyObject *__pyx_t_1 = NULL;
16786  int __pyx_lineno = 0;
16787  const char *__pyx_filename = NULL;
16788  int __pyx_clineno = 0;
16789  __Pyx_RefNannySetupContext("setDefaultParams", 0);
16790 
16791  /* "espressomd/interactions.pyx":1072
16792  *
16793  * def setDefaultParams(self):
16794  * self._params = {"r0": 1., "kslin": 0} # <<<<<<<<<<<<<<
16795  *
16796  * def _getParamsFromEsCore(self):
16797  */
16798  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16799  __Pyx_GOTREF(__pyx_t_1);
16800  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r0, __pyx_float_1_) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16801  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kslin, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16802  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_params, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16803  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16804 
16805  /* "espressomd/interactions.pyx":1071
16806  * return "r0", "kslin"
16807  *
16808  * def setDefaultParams(self): # <<<<<<<<<<<<<<
16809  * self._params = {"r0": 1., "kslin": 0}
16810  *
16811  */
16812 
16813  /* function exit code */
16814  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
16815  goto __pyx_L0;
16816  __pyx_L1_error:;
16817  __Pyx_XDECREF(__pyx_t_1);
16818  __Pyx_AddTraceback("espressomd.interactions.Stretchlin_Force.setDefaultParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
16819  __pyx_r = NULL;
16820  __pyx_L0:;
16821  __Pyx_XGIVEREF(__pyx_r);
16822  __Pyx_RefNannyFinishContext();
16823  return __pyx_r;
16824 }
16825 
16826 /* "espressomd/interactions.pyx":1074
16827  * self._params = {"r0": 1., "kslin": 0}
16828  *
16829  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
16830  * return \
16831  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
16832  */
16833 
16834 /* Python wrapper */
16835 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16836 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_11_getParamsFromEsCore = {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_11_getParamsFromEsCore, METH_O, 0};
16837 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_11_getParamsFromEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16838  PyObject *__pyx_r = 0;
16839  __Pyx_RefNannyDeclarations
16840  __Pyx_RefNannySetupContext("_getParamsFromEsCore (wrapper)", 0);
16841  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_10_getParamsFromEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
16842 
16843  /* function exit code */
16844  __Pyx_RefNannyFinishContext();
16845  return __pyx_r;
16846 }
16847 
16848 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_10_getParamsFromEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16849  PyObject *__pyx_r = NULL;
16850  __Pyx_RefNannyDeclarations
16851  PyObject *__pyx_t_1 = NULL;
16852  PyObject *__pyx_t_2 = NULL;
16853  Py_ssize_t __pyx_t_3;
16854  int __pyx_lineno = 0;
16855  const char *__pyx_filename = NULL;
16856  int __pyx_clineno = 0;
16857  __Pyx_RefNannySetupContext("_getParamsFromEsCore", 0);
16858 
16859  /* "espressomd/interactions.pyx":1075
16860  *
16861  * def _getParamsFromEsCore(self):
16862  * return \ # <<<<<<<<<<<<<<
16863  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
16864  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
16865  */
16866  __Pyx_XDECREF(__pyx_r);
16867 
16868  /* "espressomd/interactions.pyx":1076
16869  * def _getParamsFromEsCore(self):
16870  * return \
16871  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0, # <<<<<<<<<<<<<<
16872  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
16873  *
16874  */
16875  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16876  __Pyx_GOTREF(__pyx_t_1);
16877  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16878  __Pyx_GOTREF(__pyx_t_2);
16879  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16880  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16881  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.stretchlin_force.r0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16882  __Pyx_GOTREF(__pyx_t_2);
16883  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_r0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16884  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16885 
16886  /* "espressomd/interactions.pyx":1077
16887  * return \
16888  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
16889  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin} # <<<<<<<<<<<<<<
16890  *
16891  * def _setParamsInEsCore(self):
16892  */
16893  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16894  __Pyx_GOTREF(__pyx_t_2);
16895  __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16896  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16897  __pyx_t_2 = PyFloat_FromDouble((bonded_ia_params[__pyx_t_3]).p.stretchlin_force.kslin); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16898  __Pyx_GOTREF(__pyx_t_2);
16899  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_kslin, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16900  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
16901  __pyx_r = __pyx_t_1;
16902  __pyx_t_1 = 0;
16903  goto __pyx_L0;
16904 
16905  /* "espressomd/interactions.pyx":1074
16906  * self._params = {"r0": 1., "kslin": 0}
16907  *
16908  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
16909  * return \
16910  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
16911  */
16912 
16913  /* function exit code */
16914  __pyx_L1_error:;
16915  __Pyx_XDECREF(__pyx_t_1);
16916  __Pyx_XDECREF(__pyx_t_2);
16917  __Pyx_AddTraceback("espressomd.interactions.Stretchlin_Force._getParamsFromEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
16918  __pyx_r = NULL;
16919  __pyx_L0:;
16920  __Pyx_XGIVEREF(__pyx_r);
16921  __Pyx_RefNannyFinishContext();
16922  return __pyx_r;
16923 }
16924 
16925 /* "espressomd/interactions.pyx":1079
16926  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
16927  *
16928  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
16929  * stretchlin_force_set_params(
16930  * self._bondId, self._params["r0"], self._params["kslin"])
16931  */
16932 
16933 /* Python wrapper */
16934 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
16935 static PyMethodDef __pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_13_setParamsInEsCore = {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_13_setParamsInEsCore, METH_O, 0};
16936 static PyObject *__pyx_pw_10espressomd_12interactions_16Stretchlin_Force_13_setParamsInEsCore(PyObject *__pyx_self, PyObject *__pyx_v_self) {
16937  PyObject *__pyx_r = 0;
16938  __Pyx_RefNannyDeclarations
16939  __Pyx_RefNannySetupContext("_setParamsInEsCore (wrapper)", 0);
16940  __pyx_r = __pyx_pf_10espressomd_12interactions_16Stretchlin_Force_12_setParamsInEsCore(__pyx_self, ((PyObject *)__pyx_v_self));
16941 
16942  /* function exit code */
16943  __Pyx_RefNannyFinishContext();
16944  return __pyx_r;
16945 }
16946 
16947 static PyObject *__pyx_pf_10espressomd_12interactions_16Stretchlin_Force_12_setParamsInEsCore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
16948  PyObject *__pyx_r = NULL;
16949  __Pyx_RefNannyDeclarations
16950  PyObject *__pyx_t_1 = NULL;
16951  int __pyx_t_2;
16952  PyObject *__pyx_t_3 = NULL;
16953  double __pyx_t_4;
16954  double __pyx_t_5;
16955  int __pyx_lineno = 0;
16956  const char *__pyx_filename = NULL;
16957  int __pyx_clineno = 0;
16958  __Pyx_RefNannySetupContext("_setParamsInEsCore", 0);
16959 
16960  /* "espressomd/interactions.pyx":1081
16961  * def _setParamsInEsCore(self):
16962  * stretchlin_force_set_params(
16963  * self._bondId, self._params["r0"], self._params["kslin"]) # <<<<<<<<<<<<<<
16964  *
16965  *
16966  */
16967  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bondId); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16968  __Pyx_GOTREF(__pyx_t_1);
16969  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16970  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16971  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16972  __Pyx_GOTREF(__pyx_t_1);
16973  __pyx_t_3 = PyObject_GetItem(__pyx_t_1, __pyx_n_s_r0); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16974  __Pyx_GOTREF(__pyx_t_3);
16975  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16976  __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16977  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16978  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_params); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16979  __Pyx_GOTREF(__pyx_t_3);
16980  __pyx_t_1 = PyObject_GetItem(__pyx_t_3, __pyx_n_s_kslin); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
16981  __Pyx_GOTREF(__pyx_t_1);
16982  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
16983  __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
16984  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
16985 
16986  /* "espressomd/interactions.pyx":1080
16987  *
16988  * def _setParamsInEsCore(self):
16989  * stretchlin_force_set_params( # <<<<<<<<<<<<<<
16990  * self._bondId, self._params["r0"], self._params["kslin"])
16991  *
16992  */
16993  stretchlin_force_set_params(__pyx_t_2, __pyx_t_4, __pyx_t_5);
16994 
16995  /* "espressomd/interactions.pyx":1079
16996  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
16997  *
16998  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
16999  * stretchlin_force_set_params(
17000  * self._bondId, self._params["r0"], self._params["kslin"])
17001  */
17002 
17003  /* function exit code */
17004  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
17005  goto __pyx_L0;
17006  __pyx_L1_error:;
17007  __Pyx_XDECREF(__pyx_t_1);
17008  __Pyx_XDECREF(__pyx_t_3);
17009  __Pyx_AddTraceback("espressomd.interactions.Stretchlin_Force._setParamsInEsCore", __pyx_clineno, __pyx_lineno, __pyx_filename);
17010  __pyx_r = NULL;
17011  __pyx_L0:;
17012  __Pyx_XGIVEREF(__pyx_r);
17013  __Pyx_RefNannyFinishContext();
17014  return __pyx_r;
17015 }
17016 
17017 /* "espressomd/interactions.pyx":1101
17018  * BondedInteractionHandle"""
17019  *
17020  * def __getitem__(self, key): # <<<<<<<<<<<<<<
17021  * if not isinstance(key, int):
17022  * raise ValueError(
17023  */
17024 
17025 /* Python wrapper */
17026 static PyObject *__pyx_pw_10espressomd_12interactions_18BondedInteractions_1__getitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17027 static PyMethodDef __pyx_mdef_10espressomd_12interactions_18BondedInteractions_1__getitem__ = {"__getitem__", (PyCFunction)__pyx_pw_10espressomd_12interactions_18BondedInteractions_1__getitem__, METH_VARARGS|METH_KEYWORDS, 0};
17028 static PyObject *__pyx_pw_10espressomd_12interactions_18BondedInteractions_1__getitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17029  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
17030  PyObject *__pyx_v_key = 0;
17031  int __pyx_lineno = 0;
17032  const char *__pyx_filename = NULL;
17033  int __pyx_clineno = 0;
17034  PyObject *__pyx_r = 0;
17035  __Pyx_RefNannyDeclarations
17036  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
17037  {
17038  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_key,0};
17039  PyObject* values[2] = {0,0};
17040  if (unlikely(__pyx_kwds)) {
17041  Py_ssize_t kw_args;
17042  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
17043  switch (pos_args) {
17044  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17045  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17046  case 0: break;
17047  default: goto __pyx_L5_argtuple_error;
17048  }
17049  kw_args = PyDict_Size(__pyx_kwds);
17050  switch (pos_args) {
17051  case 0:
17052  if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
17053  else goto __pyx_L5_argtuple_error;
17054  case 1:
17055  if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
17056  else {
17057  __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17058  }
17059  }
17060  if (unlikely(kw_args > 0)) {
17061  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__getitem__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17062  }
17063  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
17064  goto __pyx_L5_argtuple_error;
17065  } else {
17066  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17067  values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17068  }
17069  __pyx_v_self = values[0];
17070  __pyx_v_key = values[1];
17071  }
17072  goto __pyx_L4_argument_unpacking_done;
17073  __pyx_L5_argtuple_error:;
17074  __Pyx_RaiseArgtupleInvalid("__getitem__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17075  __pyx_L3_error:;
17076  __Pyx_AddTraceback("espressomd.interactions.BondedInteractions.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17077  __Pyx_RefNannyFinishContext();
17078  return NULL;
17079  __pyx_L4_argument_unpacking_done:;
17080  __pyx_r = __pyx_pf_10espressomd_12interactions_18BondedInteractions___getitem__(__pyx_self, __pyx_v_self, __pyx_v_key);
17081 
17082  /* function exit code */
17083  __Pyx_RefNannyFinishContext();
17084  return __pyx_r;
17085 }
17086 
17087 static PyObject *__pyx_pf_10espressomd_12interactions_18BondedInteractions___getitem__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
17088  PyObject *__pyx_v_bondType = NULL;
17089  PyObject *__pyx_v_bondClass = NULL;
17090  PyObject *__pyx_r = NULL;
17091  __Pyx_RefNannyDeclarations
17092  int __pyx_t_1;
17093  int __pyx_t_2;
17094  PyObject *__pyx_t_3 = NULL;
17095  Py_ssize_t __pyx_t_4;
17096  PyObject *__pyx_t_5 = NULL;
17097  PyObject *__pyx_t_6 = NULL;
17098  PyObject *__pyx_t_7 = NULL;
17099  int __pyx_lineno = 0;
17100  const char *__pyx_filename = NULL;
17101  int __pyx_clineno = 0;
17102  __Pyx_RefNannySetupContext("__getitem__", 0);
17103 
17104  /* "espressomd/interactions.pyx":1102
17105  *
17106  * def __getitem__(self, key):
17107  * if not isinstance(key, int): # <<<<<<<<<<<<<<
17108  * raise ValueError(
17109  * "Index to BondedInteractions[] hast to ba an integer referring to a bond id")
17110  */
17111  __pyx_t_1 = PyInt_Check(__pyx_v_key);
17112  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
17113  if (__pyx_t_2) {
17114 
17115  /* "espressomd/interactions.pyx":1103
17116  * def __getitem__(self, key):
17117  * if not isinstance(key, int):
17118  * raise ValueError( # <<<<<<<<<<<<<<
17119  * "Index to BondedInteractions[] hast to ba an integer referring to a bond id")
17120  *
17121  */
17122  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17123  __Pyx_GOTREF(__pyx_t_3);
17124  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17125  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17126  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17127  }
17128 
17129  /* "espressomd/interactions.pyx":1107
17130  *
17131  * # Find out the type of the interaction from Espresso
17132  * bondType = bonded_ia_params[key].type # <<<<<<<<<<<<<<
17133  *
17134  * # Check if the bonded interaction exists in Espresso core
17135  */
17136  __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_v_key); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17137  __pyx_t_3 = __Pyx_PyInt_From_int((bonded_ia_params[__pyx_t_4]).type); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17138  __Pyx_GOTREF(__pyx_t_3);
17139  __pyx_v_bondType = __pyx_t_3;
17140  __pyx_t_3 = 0;
17141 
17142  /* "espressomd/interactions.pyx":1110
17143  *
17144  * # Check if the bonded interaction exists in Espresso core
17145  * if bondType == -1: # <<<<<<<<<<<<<<
17146  * raise ValueError(
17147  * "The bonded interaction with the id " + str(key) + " is not yet defined.")
17148  */
17149  __pyx_t_3 = PyObject_RichCompare(__pyx_v_bondType, __pyx_int_neg_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17150  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17151  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17152  if (__pyx_t_2) {
17153 
17154  /* "espressomd/interactions.pyx":1112
17155  * if bondType == -1:
17156  * raise ValueError(
17157  * "The bonded interaction with the id " + str(key) + " is not yet defined.") # <<<<<<<<<<<<<<
17158  *
17159  * # Find the appropriate class representing such a bond
17160  */
17161  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17162  __Pyx_GOTREF(__pyx_t_3);
17163  __Pyx_INCREF(__pyx_v_key);
17164  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_key);
17165  __Pyx_GIVEREF(__pyx_v_key);
17166  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17167  __Pyx_GOTREF(__pyx_t_5);
17168  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17169  __pyx_t_3 = PyNumber_Add(__pyx_kp_s_The_bonded_interaction_with_the, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17170  __Pyx_GOTREF(__pyx_t_3);
17171  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17172  __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_s_is_not_yet_defined); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17173  __Pyx_GOTREF(__pyx_t_5);
17174  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17175 
17176  /* "espressomd/interactions.pyx":1111
17177  * # Check if the bonded interaction exists in Espresso core
17178  * if bondType == -1:
17179  * raise ValueError( # <<<<<<<<<<<<<<
17180  * "The bonded interaction with the id " + str(key) + " is not yet defined.")
17181  *
17182  */
17183  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17184  __Pyx_GOTREF(__pyx_t_3);
17185  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
17186  __Pyx_GIVEREF(__pyx_t_5);
17187  __pyx_t_5 = 0;
17188  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17189  __Pyx_GOTREF(__pyx_t_5);
17190  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17191  __Pyx_Raise(__pyx_t_5, 0, 0, 0);
17192  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17193  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17194  }
17195 
17196  /* "espressomd/interactions.pyx":1115
17197  *
17198  * # Find the appropriate class representing such a bond
17199  * bondClass = bondedInteractionClasses[bondType] # <<<<<<<<<<<<<<
17200  * print bondType
17201  * print " "
17202  */
17203  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_bondedInteractionClasses); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17204  __Pyx_GOTREF(__pyx_t_5);
17205  __pyx_t_3 = PyObject_GetItem(__pyx_t_5, __pyx_v_bondType); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
17206  __Pyx_GOTREF(__pyx_t_3);
17207  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17208  __pyx_v_bondClass = __pyx_t_3;
17209  __pyx_t_3 = 0;
17210 
17211  /* "espressomd/interactions.pyx":1116
17212  * # Find the appropriate class representing such a bond
17213  * bondClass = bondedInteractionClasses[bondType]
17214  * print bondType # <<<<<<<<<<<<<<
17215  * print " "
17216  *
17217  */
17218  if (__Pyx_PrintOne(0, __pyx_v_bondType) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17219 
17220  /* "espressomd/interactions.pyx":1117
17221  * bondClass = bondedInteractionClasses[bondType]
17222  * print bondType
17223  * print " " # <<<<<<<<<<<<<<
17224  *
17225  * # And return an instance of it, which refers to the bonded interaction
17226  */
17227  if (__Pyx_PrintOne(0, __pyx_kp_s__67) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17228 
17229  /* "espressomd/interactions.pyx":1121
17230  * # And return an instance of it, which refers to the bonded interaction
17231  * # id in Espresso
17232  * return bondClass(key) # <<<<<<<<<<<<<<
17233  *
17234  * def __setitem__(self, key, value):
17235  */
17236  __Pyx_XDECREF(__pyx_r);
17237  __Pyx_INCREF(__pyx_v_bondClass);
17238  __pyx_t_5 = __pyx_v_bondClass; __pyx_t_6 = NULL;
17239  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_5))) {
17240  __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
17241  if (likely(__pyx_t_6)) {
17242  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
17243  __Pyx_INCREF(__pyx_t_6);
17244  __Pyx_INCREF(function);
17245  __Pyx_DECREF_SET(__pyx_t_5, function);
17246  }
17247  }
17248  if (!__pyx_t_6) {
17249  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_key); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17250  __Pyx_GOTREF(__pyx_t_3);
17251  } else {
17252  __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17253  __Pyx_GOTREF(__pyx_t_7);
17254  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = NULL;
17255  __Pyx_INCREF(__pyx_v_key);
17256  PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_key);
17257  __Pyx_GIVEREF(__pyx_v_key);
17258  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17259  __Pyx_GOTREF(__pyx_t_3);
17260  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
17261  }
17262  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17263  __pyx_r = __pyx_t_3;
17264  __pyx_t_3 = 0;
17265  goto __pyx_L0;
17266 
17267  /* "espressomd/interactions.pyx":1101
17268  * BondedInteractionHandle"""
17269  *
17270  * def __getitem__(self, key): # <<<<<<<<<<<<<<
17271  * if not isinstance(key, int):
17272  * raise ValueError(
17273  */
17274 
17275  /* function exit code */
17276  __pyx_L1_error:;
17277  __Pyx_XDECREF(__pyx_t_3);
17278  __Pyx_XDECREF(__pyx_t_5);
17279  __Pyx_XDECREF(__pyx_t_6);
17280  __Pyx_XDECREF(__pyx_t_7);
17281  __Pyx_AddTraceback("espressomd.interactions.BondedInteractions.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17282  __pyx_r = NULL;
17283  __pyx_L0:;
17284  __Pyx_XDECREF(__pyx_v_bondType);
17285  __Pyx_XDECREF(__pyx_v_bondClass);
17286  __Pyx_XGIVEREF(__pyx_r);
17287  __Pyx_RefNannyFinishContext();
17288  return __pyx_r;
17289 }
17290 
17291 /* "espressomd/interactions.pyx":1123
17292  * return bondClass(key)
17293  *
17294  * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
17295  * # Validate arguments
17296  *
17297  */
17298 
17299 /* Python wrapper */
17300 static PyObject *__pyx_pw_10espressomd_12interactions_18BondedInteractions_3__setitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
17301 static PyMethodDef __pyx_mdef_10espressomd_12interactions_18BondedInteractions_3__setitem__ = {"__setitem__", (PyCFunction)__pyx_pw_10espressomd_12interactions_18BondedInteractions_3__setitem__, METH_VARARGS|METH_KEYWORDS, 0};
17302 static PyObject *__pyx_pw_10espressomd_12interactions_18BondedInteractions_3__setitem__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
17303  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
17304  PyObject *__pyx_v_key = 0;
17305  PyObject *__pyx_v_value = 0;
17306  int __pyx_lineno = 0;
17307  const char *__pyx_filename = NULL;
17308  int __pyx_clineno = 0;
17309  PyObject *__pyx_r = 0;
17310  __Pyx_RefNannyDeclarations
17311  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
17312  {
17313  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_key,&__pyx_n_s_value,0};
17314  PyObject* values[3] = {0,0,0};
17315  if (unlikely(__pyx_kwds)) {
17316  Py_ssize_t kw_args;
17317  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
17318  switch (pos_args) {
17319  case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
17320  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17321  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17322  case 0: break;
17323  default: goto __pyx_L5_argtuple_error;
17324  }
17325  kw_args = PyDict_Size(__pyx_kwds);
17326  switch (pos_args) {
17327  case 0:
17328  if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
17329  else goto __pyx_L5_argtuple_error;
17330  case 1:
17331  if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
17332  else {
17333  __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17334  }
17335  case 2:
17336  if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_value)) != 0)) kw_args--;
17337  else {
17338  __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17339  }
17340  }
17341  if (unlikely(kw_args > 0)) {
17342  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__setitem__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17343  }
17344  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
17345  goto __pyx_L5_argtuple_error;
17346  } else {
17347  values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
17348  values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
17349  values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
17350  }
17351  __pyx_v_self = values[0];
17352  __pyx_v_key = values[1];
17353  __pyx_v_value = values[2];
17354  }
17355  goto __pyx_L4_argument_unpacking_done;
17356  __pyx_L5_argtuple_error:;
17357  __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
17358  __pyx_L3_error:;
17359  __Pyx_AddTraceback("espressomd.interactions.BondedInteractions.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17360  __Pyx_RefNannyFinishContext();
17361  return NULL;
17362  __pyx_L4_argument_unpacking_done:;
17363  __pyx_r = __pyx_pf_10espressomd_12interactions_18BondedInteractions_2__setitem__(__pyx_self, __pyx_v_self, __pyx_v_key, __pyx_v_value);
17364 
17365  /* function exit code */
17366  __Pyx_RefNannyFinishContext();
17367  return __pyx_r;
17368 }
17369 
17370 static PyObject *__pyx_pf_10espressomd_12interactions_18BondedInteractions_2__setitem__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
17371  PyObject *__pyx_r = NULL;
17372  __Pyx_RefNannyDeclarations
17373  int __pyx_t_1;
17374  int __pyx_t_2;
17375  PyObject *__pyx_t_3 = NULL;
17376  PyObject *__pyx_t_4 = NULL;
17377  PyObject *__pyx_t_5 = NULL;
17378  int __pyx_lineno = 0;
17379  const char *__pyx_filename = NULL;
17380  int __pyx_clineno = 0;
17381  __Pyx_RefNannySetupContext("__setitem__", 0);
17382 
17383  /* "espressomd/interactions.pyx":1127
17384  *
17385  * # type of key must be int
17386  * if not isinstance(key, int): # <<<<<<<<<<<<<<
17387  * raise ValueError(
17388  * "Index to BondedInteractions[] has to ba an integer referring to a bond id")
17389  */
17390  __pyx_t_1 = PyInt_Check(__pyx_v_key);
17391  __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
17392  if (__pyx_t_2) {
17393 
17394  /* "espressomd/interactions.pyx":1128
17395  * # type of key must be int
17396  * if not isinstance(key, int):
17397  * raise ValueError( # <<<<<<<<<<<<<<
17398  * "Index to BondedInteractions[] has to ba an integer referring to a bond id")
17399  *
17400  */
17401  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17402  __Pyx_GOTREF(__pyx_t_3);
17403  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17404  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17405  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17406  }
17407 
17408  /* "espressomd/interactions.pyx":1132
17409  *
17410  * # Value must be subclass off BondedInteraction
17411  * if not isinstance(value, BondedInteraction): # <<<<<<<<<<<<<<
17412  * raise ValueError(
17413  * "Only subclasses of BondedInteraction can be assigned.")
17414  */
17415  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_value, ((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction));
17416  __pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
17417  if (__pyx_t_1) {
17418 
17419  /* "espressomd/interactions.pyx":1133
17420  * # Value must be subclass off BondedInteraction
17421  * if not isinstance(value, BondedInteraction):
17422  * raise ValueError( # <<<<<<<<<<<<<<
17423  * "Only subclasses of BondedInteraction can be assigned.")
17424  *
17425  */
17426  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17427  __Pyx_GOTREF(__pyx_t_3);
17428  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17429  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17430  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17431  }
17432 
17433  /* "espressomd/interactions.pyx":1137
17434  *
17435  * # Save the bond id in the BondedInteraction instance
17436  * value._bondId = key # <<<<<<<<<<<<<<
17437  *
17438  * # Set the parameters of the BondedInteraction instance in the Es core
17439  */
17440  if (__Pyx_PyObject_SetAttrStr(__pyx_v_value, __pyx_n_s_bondId, __pyx_v_key) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17441 
17442  /* "espressomd/interactions.pyx":1140
17443  *
17444  * # Set the parameters of the BondedInteraction instance in the Es core
17445  * value._setParamsInEsCore() # <<<<<<<<<<<<<<
17446  */
17447  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_setParamsInEsCore); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17448  __Pyx_GOTREF(__pyx_t_4);
17449  __pyx_t_5 = NULL;
17450  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) {
17451  __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
17452  if (likely(__pyx_t_5)) {
17453  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
17454  __Pyx_INCREF(__pyx_t_5);
17455  __Pyx_INCREF(function);
17456  __Pyx_DECREF_SET(__pyx_t_4, function);
17457  }
17458  }
17459  if (__pyx_t_5) {
17460  __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17461  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
17462  } else {
17463  __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17464  }
17465  __Pyx_GOTREF(__pyx_t_3);
17466  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
17467  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17468 
17469  /* "espressomd/interactions.pyx":1123
17470  * return bondClass(key)
17471  *
17472  * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
17473  * # Validate arguments
17474  *
17475  */
17476 
17477  /* function exit code */
17478  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
17479  goto __pyx_L0;
17480  __pyx_L1_error:;
17481  __Pyx_XDECREF(__pyx_t_3);
17482  __Pyx_XDECREF(__pyx_t_4);
17483  __Pyx_XDECREF(__pyx_t_5);
17484  __Pyx_AddTraceback("espressomd.interactions.BondedInteractions.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
17485  __pyx_r = NULL;
17486  __pyx_L0:;
17487  __Pyx_XGIVEREF(__pyx_r);
17488  __Pyx_RefNannyFinishContext();
17489  return __pyx_r;
17490 }
17491 
17492 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":197
17493  * # experimental exception made for __getbuffer__ and __releasebuffer__
17494  * # -- the details of this may change.
17495  * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
17496  * # This implementation of getbuffer is geared towards Cython
17497  * # requirements, and does not yet fullfill the PEP.
17498  */
17499 
17500 /* Python wrapper */
17501 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
17502 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
17503  int __pyx_r;
17504  __Pyx_RefNannyDeclarations
17505  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
17506  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
17507 
17508  /* function exit code */
17509  __Pyx_RefNannyFinishContext();
17510  return __pyx_r;
17511 }
17512 
17513 static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
17514  int __pyx_v_copy_shape;
17515  int __pyx_v_i;
17516  int __pyx_v_ndim;
17517  int __pyx_v_endian_detector;
17518  int __pyx_v_little_endian;
17519  int __pyx_v_t;
17520  char *__pyx_v_f;
17521  PyArray_Descr *__pyx_v_descr = 0;
17522  int __pyx_v_offset;
17523  int __pyx_v_hasfields;
17524  int __pyx_r;
17525  __Pyx_RefNannyDeclarations
17526  int __pyx_t_1;
17527  int __pyx_t_2;
17528  PyObject *__pyx_t_3 = NULL;
17529  int __pyx_t_4;
17530  int __pyx_t_5;
17531  PyObject *__pyx_t_6 = NULL;
17532  char *__pyx_t_7;
17533  int __pyx_lineno = 0;
17534  const char *__pyx_filename = NULL;
17535  int __pyx_clineno = 0;
17536  __Pyx_RefNannySetupContext("__getbuffer__", 0);
17537  if (__pyx_v_info != NULL) {
17538  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
17539  __Pyx_GIVEREF(__pyx_v_info->obj);
17540  }
17541 
17542  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":203
17543  * # of flags
17544  *
17545  * if info == NULL: return # <<<<<<<<<<<<<<
17546  *
17547  * cdef int copy_shape, i, ndim
17548  */
17549  __pyx_t_1 = ((__pyx_v_info == NULL) != 0);
17550  if (__pyx_t_1) {
17551  __pyx_r = 0;
17552  goto __pyx_L0;
17553  }
17554 
17555  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":206
17556  *
17557  * cdef int copy_shape, i, ndim
17558  * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
17559  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
17560  *
17561  */
17562  __pyx_v_endian_detector = 1;
17563 
17564  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":207
17565  * cdef int copy_shape, i, ndim
17566  * cdef int endian_detector = 1
17567  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
17568  *
17569  * ndim = PyArray_NDIM(self)
17570  */
17571  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
17572 
17573  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":209
17574  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
17575  *
17576  * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<
17577  *
17578  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
17579  */
17580  __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
17581 
17582  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":211
17583  * ndim = PyArray_NDIM(self)
17584  *
17585  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
17586  * copy_shape = 1
17587  * else:
17588  */
17589  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
17590  if (__pyx_t_1) {
17591 
17592  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":212
17593  *
17594  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
17595  * copy_shape = 1 # <<<<<<<<<<<<<<
17596  * else:
17597  * copy_shape = 0
17598  */
17599  __pyx_v_copy_shape = 1;
17600  goto __pyx_L4;
17601  }
17602  /*else*/ {
17603 
17604  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":214
17605  * copy_shape = 1
17606  * else:
17607  * copy_shape = 0 # <<<<<<<<<<<<<<
17608  *
17609  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
17610  */
17611  __pyx_v_copy_shape = 0;
17612  }
17613  __pyx_L4:;
17614 
17615  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":216
17616  * copy_shape = 0
17617  *
17618  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<
17619  * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
17620  * raise ValueError(u"ndarray is not C contiguous")
17621  */
17622  __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);
17623  if (__pyx_t_2) {
17624  } else {
17625  __pyx_t_1 = __pyx_t_2;
17626  goto __pyx_L6_bool_binop_done;
17627  }
17628 
17629  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":217
17630  *
17631  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
17632  * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<
17633  * raise ValueError(u"ndarray is not C contiguous")
17634  *
17635  */
17636  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
17637  __pyx_t_1 = __pyx_t_2;
17638  __pyx_L6_bool_binop_done:;
17639  if (__pyx_t_1) {
17640 
17641  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218
17642  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
17643  * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
17644  * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
17645  *
17646  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
17647  */
17648  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17649  __Pyx_GOTREF(__pyx_t_3);
17650  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17651  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17652  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17653  }
17654 
17655  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":220
17656  * raise ValueError(u"ndarray is not C contiguous")
17657  *
17658  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<
17659  * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
17660  * raise ValueError(u"ndarray is not Fortran contiguous")
17661  */
17662  __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);
17663  if (__pyx_t_2) {
17664  } else {
17665  __pyx_t_1 = __pyx_t_2;
17666  goto __pyx_L9_bool_binop_done;
17667  }
17668 
17669  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":221
17670  *
17671  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
17672  * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<
17673  * raise ValueError(u"ndarray is not Fortran contiguous")
17674  *
17675  */
17676  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
17677  __pyx_t_1 = __pyx_t_2;
17678  __pyx_L9_bool_binop_done:;
17679  if (__pyx_t_1) {
17680 
17681  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222
17682  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
17683  * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
17684  * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
17685  *
17686  * info.buf = PyArray_DATA(self)
17687  */
17688  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17689  __Pyx_GOTREF(__pyx_t_3);
17690  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17691  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17692  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17693  }
17694 
17695  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":224
17696  * raise ValueError(u"ndarray is not Fortran contiguous")
17697  *
17698  * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<
17699  * info.ndim = ndim
17700  * if copy_shape:
17701  */
17702  __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
17703 
17704  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":225
17705  *
17706  * info.buf = PyArray_DATA(self)
17707  * info.ndim = ndim # <<<<<<<<<<<<<<
17708  * if copy_shape:
17709  * # Allocate new buffer for strides and shape info.
17710  */
17711  __pyx_v_info->ndim = __pyx_v_ndim;
17712 
17713  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":226
17714  * info.buf = PyArray_DATA(self)
17715  * info.ndim = ndim
17716  * if copy_shape: # <<<<<<<<<<<<<<
17717  * # Allocate new buffer for strides and shape info.
17718  * # This is allocated as one block, strides first.
17719  */
17720  __pyx_t_1 = (__pyx_v_copy_shape != 0);
17721  if (__pyx_t_1) {
17722 
17723  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":229
17724  * # Allocate new buffer for strides and shape info.
17725  * # This is allocated as one block, strides first.
17726  * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2) # <<<<<<<<<<<<<<
17727  * info.shape = info.strides + ndim
17728  * for i in range(ndim):
17729  */
17730  __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
17731 
17732  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":230
17733  * # This is allocated as one block, strides first.
17734  * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
17735  * info.shape = info.strides + ndim # <<<<<<<<<<<<<<
17736  * for i in range(ndim):
17737  * info.strides[i] = PyArray_STRIDES(self)[i]
17738  */
17739  __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
17740 
17741  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":231
17742  * info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
17743  * info.shape = info.strides + ndim
17744  * for i in range(ndim): # <<<<<<<<<<<<<<
17745  * info.strides[i] = PyArray_STRIDES(self)[i]
17746  * info.shape[i] = PyArray_DIMS(self)[i]
17747  */
17748  __pyx_t_4 = __pyx_v_ndim;
17749  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
17750  __pyx_v_i = __pyx_t_5;
17751 
17752  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":232
17753  * info.shape = info.strides + ndim
17754  * for i in range(ndim):
17755  * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<
17756  * info.shape[i] = PyArray_DIMS(self)[i]
17757  * else:
17758  */
17759  (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
17760 
17761  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":233
17762  * for i in range(ndim):
17763  * info.strides[i] = PyArray_STRIDES(self)[i]
17764  * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<
17765  * else:
17766  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
17767  */
17768  (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
17769  }
17770  goto __pyx_L11;
17771  }
17772  /*else*/ {
17773 
17774  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":235
17775  * info.shape[i] = PyArray_DIMS(self)[i]
17776  * else:
17777  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<
17778  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
17779  * info.suboffsets = NULL
17780  */
17781  __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
17782 
17783  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":236
17784  * else:
17785  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
17786  * info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<
17787  * info.suboffsets = NULL
17788  * info.itemsize = PyArray_ITEMSIZE(self)
17789  */
17790  __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
17791  }
17792  __pyx_L11:;
17793 
17794  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":237
17795  * info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
17796  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
17797  * info.suboffsets = NULL # <<<<<<<<<<<<<<
17798  * info.itemsize = PyArray_ITEMSIZE(self)
17799  * info.readonly = not PyArray_ISWRITEABLE(self)
17800  */
17801  __pyx_v_info->suboffsets = NULL;
17802 
17803  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":238
17804  * info.shape = <Py_ssize_t*>PyArray_DIMS(self)
17805  * info.suboffsets = NULL
17806  * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<
17807  * info.readonly = not PyArray_ISWRITEABLE(self)
17808  *
17809  */
17810  __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
17811 
17812  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":239
17813  * info.suboffsets = NULL
17814  * info.itemsize = PyArray_ITEMSIZE(self)
17815  * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<
17816  *
17817  * cdef int t
17818  */
17819  __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));
17820 
17821  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":242
17822  *
17823  * cdef int t
17824  * cdef char* f = NULL # <<<<<<<<<<<<<<
17825  * cdef dtype descr = self.descr
17826  * cdef list stack
17827  */
17828  __pyx_v_f = NULL;
17829 
17830  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":243
17831  * cdef int t
17832  * cdef char* f = NULL
17833  * cdef dtype descr = self.descr # <<<<<<<<<<<<<<
17834  * cdef list stack
17835  * cdef int offset
17836  */
17837  __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
17838  __Pyx_INCREF(__pyx_t_3);
17839  __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);
17840  __pyx_t_3 = 0;
17841 
17842  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":247
17843  * cdef int offset
17844  *
17845  * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<<
17846  *
17847  * if not hasfields and not copy_shape:
17848  */
17849  __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
17850 
17851  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":249
17852  * cdef bint hasfields = PyDataType_HASFIELDS(descr)
17853  *
17854  * if not hasfields and not copy_shape: # <<<<<<<<<<<<<<
17855  * # do not call releasebuffer
17856  * info.obj = None
17857  */
17858  __pyx_t_2 = ((!(__pyx_v_hasfields != 0)) != 0);
17859  if (__pyx_t_2) {
17860  } else {
17861  __pyx_t_1 = __pyx_t_2;
17862  goto __pyx_L15_bool_binop_done;
17863  }
17864  __pyx_t_2 = ((!(__pyx_v_copy_shape != 0)) != 0);
17865  __pyx_t_1 = __pyx_t_2;
17866  __pyx_L15_bool_binop_done:;
17867  if (__pyx_t_1) {
17868 
17869  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":251
17870  * if not hasfields and not copy_shape:
17871  * # do not call releasebuffer
17872  * info.obj = None # <<<<<<<<<<<<<<
17873  * else:
17874  * # need to call releasebuffer
17875  */
17876  __Pyx_INCREF(Py_None);
17877  __Pyx_GIVEREF(Py_None);
17878  __Pyx_GOTREF(__pyx_v_info->obj);
17879  __Pyx_DECREF(__pyx_v_info->obj);
17880  __pyx_v_info->obj = Py_None;
17881  goto __pyx_L14;
17882  }
17883  /*else*/ {
17884 
17885  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":254
17886  * else:
17887  * # need to call releasebuffer
17888  * info.obj = self # <<<<<<<<<<<<<<
17889  *
17890  * if not hasfields:
17891  */
17892  __Pyx_INCREF(((PyObject *)__pyx_v_self));
17893  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
17894  __Pyx_GOTREF(__pyx_v_info->obj);
17895  __Pyx_DECREF(__pyx_v_info->obj);
17896  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
17897  }
17898  __pyx_L14:;
17899 
17900  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":256
17901  * info.obj = self
17902  *
17903  * if not hasfields: # <<<<<<<<<<<<<<
17904  * t = descr.type_num
17905  * if ((descr.byteorder == c'>' and little_endian) or
17906  */
17907  __pyx_t_1 = ((!(__pyx_v_hasfields != 0)) != 0);
17908  if (__pyx_t_1) {
17909 
17910  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":257
17911  *
17912  * if not hasfields:
17913  * t = descr.type_num # <<<<<<<<<<<<<<
17914  * if ((descr.byteorder == c'>' and little_endian) or
17915  * (descr.byteorder == c'<' and not little_endian)):
17916  */
17917  __pyx_t_4 = __pyx_v_descr->type_num;
17918  __pyx_v_t = __pyx_t_4;
17919 
17920  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":258
17921  * if not hasfields:
17922  * t = descr.type_num
17923  * if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
17924  * (descr.byteorder == c'<' and not little_endian)):
17925  * raise ValueError(u"Non-native byte order not supported")
17926  */
17927  __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);
17928  if (!__pyx_t_2) {
17929  goto __pyx_L20_next_or;
17930  } else {
17931  }
17932  __pyx_t_2 = (__pyx_v_little_endian != 0);
17933  if (!__pyx_t_2) {
17934  } else {
17935  __pyx_t_1 = __pyx_t_2;
17936  goto __pyx_L19_bool_binop_done;
17937  }
17938  __pyx_L20_next_or:;
17939 
17940  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":259
17941  * t = descr.type_num
17942  * if ((descr.byteorder == c'>' and little_endian) or
17943  * (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
17944  * raise ValueError(u"Non-native byte order not supported")
17945  * if t == NPY_BYTE: f = "b"
17946  */
17947  __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);
17948  if (__pyx_t_2) {
17949  } else {
17950  __pyx_t_1 = __pyx_t_2;
17951  goto __pyx_L19_bool_binop_done;
17952  }
17953  __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);
17954  __pyx_t_1 = __pyx_t_2;
17955  __pyx_L19_bool_binop_done:;
17956  if (__pyx_t_1) {
17957 
17958  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260
17959  * if ((descr.byteorder == c'>' and little_endian) or
17960  * (descr.byteorder == c'<' and not little_endian)):
17961  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
17962  * if t == NPY_BYTE: f = "b"
17963  * elif t == NPY_UBYTE: f = "B"
17964  */
17965  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17966  __Pyx_GOTREF(__pyx_t_3);
17967  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
17968  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
17969  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
17970  }
17971 
17972  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277
17973  * elif t == NPY_CDOUBLE: f = "Zd"
17974  * elif t == NPY_CLONGDOUBLE: f = "Zg"
17975  * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
17976  * else:
17977  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
17978  */
17979  switch (__pyx_v_t) {
17980 
17981  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":261
17982  * (descr.byteorder == c'<' and not little_endian)):
17983  * raise ValueError(u"Non-native byte order not supported")
17984  * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<
17985  * elif t == NPY_UBYTE: f = "B"
17986  * elif t == NPY_SHORT: f = "h"
17987  */
17988  case NPY_BYTE:
17989  __pyx_v_f = __pyx_k_b;
17990  break;
17991 
17992  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":262
17993  * raise ValueError(u"Non-native byte order not supported")
17994  * if t == NPY_BYTE: f = "b"
17995  * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<
17996  * elif t == NPY_SHORT: f = "h"
17997  * elif t == NPY_USHORT: f = "H"
17998  */
17999  case NPY_UBYTE:
18000  __pyx_v_f = __pyx_k_B;
18001  break;
18002 
18003  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":263
18004  * if t == NPY_BYTE: f = "b"
18005  * elif t == NPY_UBYTE: f = "B"
18006  * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<
18007  * elif t == NPY_USHORT: f = "H"
18008  * elif t == NPY_INT: f = "i"
18009  */
18010  case NPY_SHORT:
18011  __pyx_v_f = __pyx_k_h;
18012  break;
18013 
18014  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":264
18015  * elif t == NPY_UBYTE: f = "B"
18016  * elif t == NPY_SHORT: f = "h"
18017  * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<
18018  * elif t == NPY_INT: f = "i"
18019  * elif t == NPY_UINT: f = "I"
18020  */
18021  case NPY_USHORT:
18022  __pyx_v_f = __pyx_k_H;
18023  break;
18024 
18025  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":265
18026  * elif t == NPY_SHORT: f = "h"
18027  * elif t == NPY_USHORT: f = "H"
18028  * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<
18029  * elif t == NPY_UINT: f = "I"
18030  * elif t == NPY_LONG: f = "l"
18031  */
18032  case NPY_INT:
18033  __pyx_v_f = __pyx_k_i;
18034  break;
18035 
18036  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":266
18037  * elif t == NPY_USHORT: f = "H"
18038  * elif t == NPY_INT: f = "i"
18039  * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<
18040  * elif t == NPY_LONG: f = "l"
18041  * elif t == NPY_ULONG: f = "L"
18042  */
18043  case NPY_UINT:
18044  __pyx_v_f = __pyx_k_I;
18045  break;
18046 
18047  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":267
18048  * elif t == NPY_INT: f = "i"
18049  * elif t == NPY_UINT: f = "I"
18050  * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<
18051  * elif t == NPY_ULONG: f = "L"
18052  * elif t == NPY_LONGLONG: f = "q"
18053  */
18054  case NPY_LONG:
18055  __pyx_v_f = __pyx_k_l;
18056  break;
18057 
18058  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":268
18059  * elif t == NPY_UINT: f = "I"
18060  * elif t == NPY_LONG: f = "l"
18061  * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<
18062  * elif t == NPY_LONGLONG: f = "q"
18063  * elif t == NPY_ULONGLONG: f = "Q"
18064  */
18065  case NPY_ULONG:
18066  __pyx_v_f = __pyx_k_L;
18067  break;
18068 
18069  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":269
18070  * elif t == NPY_LONG: f = "l"
18071  * elif t == NPY_ULONG: f = "L"
18072  * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<
18073  * elif t == NPY_ULONGLONG: f = "Q"
18074  * elif t == NPY_FLOAT: f = "f"
18075  */
18076  case NPY_LONGLONG:
18077  __pyx_v_f = __pyx_k_q;
18078  break;
18079 
18080  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":270
18081  * elif t == NPY_ULONG: f = "L"
18082  * elif t == NPY_LONGLONG: f = "q"
18083  * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<
18084  * elif t == NPY_FLOAT: f = "f"
18085  * elif t == NPY_DOUBLE: f = "d"
18086  */
18087  case NPY_ULONGLONG:
18088  __pyx_v_f = __pyx_k_Q;
18089  break;
18090 
18091  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":271
18092  * elif t == NPY_LONGLONG: f = "q"
18093  * elif t == NPY_ULONGLONG: f = "Q"
18094  * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<
18095  * elif t == NPY_DOUBLE: f = "d"
18096  * elif t == NPY_LONGDOUBLE: f = "g"
18097  */
18098  case NPY_FLOAT:
18099  __pyx_v_f = __pyx_k_f;
18100  break;
18101 
18102  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":272
18103  * elif t == NPY_ULONGLONG: f = "Q"
18104  * elif t == NPY_FLOAT: f = "f"
18105  * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<
18106  * elif t == NPY_LONGDOUBLE: f = "g"
18107  * elif t == NPY_CFLOAT: f = "Zf"
18108  */
18109  case NPY_DOUBLE:
18110  __pyx_v_f = __pyx_k_d;
18111  break;
18112 
18113  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":273
18114  * elif t == NPY_FLOAT: f = "f"
18115  * elif t == NPY_DOUBLE: f = "d"
18116  * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<
18117  * elif t == NPY_CFLOAT: f = "Zf"
18118  * elif t == NPY_CDOUBLE: f = "Zd"
18119  */
18120  case NPY_LONGDOUBLE:
18121  __pyx_v_f = __pyx_k_g;
18122  break;
18123 
18124  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":274
18125  * elif t == NPY_DOUBLE: f = "d"
18126  * elif t == NPY_LONGDOUBLE: f = "g"
18127  * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<
18128  * elif t == NPY_CDOUBLE: f = "Zd"
18129  * elif t == NPY_CLONGDOUBLE: f = "Zg"
18130  */
18131  case NPY_CFLOAT:
18132  __pyx_v_f = __pyx_k_Zf;
18133  break;
18134 
18135  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":275
18136  * elif t == NPY_LONGDOUBLE: f = "g"
18137  * elif t == NPY_CFLOAT: f = "Zf"
18138  * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<
18139  * elif t == NPY_CLONGDOUBLE: f = "Zg"
18140  * elif t == NPY_OBJECT: f = "O"
18141  */
18142  case NPY_CDOUBLE:
18143  __pyx_v_f = __pyx_k_Zd;
18144  break;
18145 
18146  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":276
18147  * elif t == NPY_CFLOAT: f = "Zf"
18148  * elif t == NPY_CDOUBLE: f = "Zd"
18149  * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<
18150  * elif t == NPY_OBJECT: f = "O"
18151  * else:
18152  */
18153  case NPY_CLONGDOUBLE:
18154  __pyx_v_f = __pyx_k_Zg;
18155  break;
18156 
18157  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":277
18158  * elif t == NPY_CDOUBLE: f = "Zd"
18159  * elif t == NPY_CLONGDOUBLE: f = "Zg"
18160  * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<
18161  * else:
18162  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
18163  */
18164  case NPY_OBJECT:
18165  __pyx_v_f = __pyx_k_O;
18166  break;
18167  default:
18168 
18169  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":279
18170  * elif t == NPY_OBJECT: f = "O"
18171  * else:
18172  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
18173  * info.format = f
18174  * return
18175  */
18176  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18177  __Pyx_GOTREF(__pyx_t_3);
18178  __pyx_t_6 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18179  __Pyx_GOTREF(__pyx_t_6);
18180  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18181  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18182  __Pyx_GOTREF(__pyx_t_3);
18183  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6);
18184  __Pyx_GIVEREF(__pyx_t_6);
18185  __pyx_t_6 = 0;
18186  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18187  __Pyx_GOTREF(__pyx_t_6);
18188  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18189  __Pyx_Raise(__pyx_t_6, 0, 0, 0);
18190  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
18191  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18192  break;
18193  }
18194 
18195  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":280
18196  * else:
18197  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
18198  * info.format = f # <<<<<<<<<<<<<<
18199  * return
18200  * else:
18201  */
18202  __pyx_v_info->format = __pyx_v_f;
18203 
18204  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":281
18205  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
18206  * info.format = f
18207  * return # <<<<<<<<<<<<<<
18208  * else:
18209  * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
18210  */
18211  __pyx_r = 0;
18212  goto __pyx_L0;
18213  }
18214  /*else*/ {
18215 
18216  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":283
18217  * return
18218  * else:
18219  * info.format = <char*>stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<
18220  * info.format[0] = c'^' # Native data types, manual alignment
18221  * offset = 0
18222  */
18223  __pyx_v_info->format = ((char *)malloc(255));
18224 
18225  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":284
18226  * else:
18227  * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
18228  * info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<
18229  * offset = 0
18230  * f = _util_dtypestring(descr, info.format + 1,
18231  */
18232  (__pyx_v_info->format[0]) = '^';
18233 
18234  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":285
18235  * info.format = <char*>stdlib.malloc(_buffer_format_string_len)
18236  * info.format[0] = c'^' # Native data types, manual alignment
18237  * offset = 0 # <<<<<<<<<<<<<<
18238  * f = _util_dtypestring(descr, info.format + 1,
18239  * info.format + _buffer_format_string_len,
18240  */
18241  __pyx_v_offset = 0;
18242 
18243  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":286
18244  * info.format[0] = c'^' # Native data types, manual alignment
18245  * offset = 0
18246  * f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<
18247  * info.format + _buffer_format_string_len,
18248  * &offset)
18249  */
18250  __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18251  __pyx_v_f = __pyx_t_7;
18252 
18253  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":289
18254  * info.format + _buffer_format_string_len,
18255  * &offset)
18256  * f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<
18257  *
18258  * def __releasebuffer__(ndarray self, Py_buffer* info):
18259  */
18260  (__pyx_v_f[0]) = '\x00';
18261  }
18262 
18263  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":197
18264  * # experimental exception made for __getbuffer__ and __releasebuffer__
18265  * # -- the details of this may change.
18266  * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
18267  * # This implementation of getbuffer is geared towards Cython
18268  * # requirements, and does not yet fullfill the PEP.
18269  */
18270 
18271  /* function exit code */
18272  __pyx_r = 0;
18273  goto __pyx_L0;
18274  __pyx_L1_error:;
18275  __Pyx_XDECREF(__pyx_t_3);
18276  __Pyx_XDECREF(__pyx_t_6);
18277  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
18278  __pyx_r = -1;
18279  if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
18280  __Pyx_GOTREF(__pyx_v_info->obj);
18281  __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
18282  }
18283  goto __pyx_L2;
18284  __pyx_L0:;
18285  if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
18286  __Pyx_GOTREF(Py_None);
18287  __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
18288  }
18289  __pyx_L2:;
18290  __Pyx_XDECREF((PyObject *)__pyx_v_descr);
18291  __Pyx_RefNannyFinishContext();
18292  return __pyx_r;
18293 }
18294 
18295 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291
18296  * f[0] = c'\0' # Terminate format string
18297  *
18298  * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
18299  * if PyArray_HASFIELDS(self):
18300  * stdlib.free(info.format)
18301  */
18302 
18303 /* Python wrapper */
18304 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
18305 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
18306  __Pyx_RefNannyDeclarations
18307  __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
18308  __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
18309 
18310  /* function exit code */
18311  __Pyx_RefNannyFinishContext();
18312 }
18313 
18314 static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
18315  __Pyx_RefNannyDeclarations
18316  int __pyx_t_1;
18317  __Pyx_RefNannySetupContext("__releasebuffer__", 0);
18318 
18319  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":292
18320  *
18321  * def __releasebuffer__(ndarray self, Py_buffer* info):
18322  * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<
18323  * stdlib.free(info.format)
18324  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
18325  */
18326  __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);
18327  if (__pyx_t_1) {
18328 
18329  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":293
18330  * def __releasebuffer__(ndarray self, Py_buffer* info):
18331  * if PyArray_HASFIELDS(self):
18332  * stdlib.free(info.format) # <<<<<<<<<<<<<<
18333  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
18334  * stdlib.free(info.strides)
18335  */
18336  free(__pyx_v_info->format);
18337  goto __pyx_L3;
18338  }
18339  __pyx_L3:;
18340 
18341  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":294
18342  * if PyArray_HASFIELDS(self):
18343  * stdlib.free(info.format)
18344  * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<
18345  * stdlib.free(info.strides)
18346  * # info.shape was stored after info.strides in the same block
18347  */
18348  __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);
18349  if (__pyx_t_1) {
18350 
18351  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":295
18352  * stdlib.free(info.format)
18353  * if sizeof(npy_intp) != sizeof(Py_ssize_t):
18354  * stdlib.free(info.strides) # <<<<<<<<<<<<<<
18355  * # info.shape was stored after info.strides in the same block
18356  *
18357  */
18358  free(__pyx_v_info->strides);
18359  goto __pyx_L4;
18360  }
18361  __pyx_L4:;
18362 
18363  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":291
18364  * f[0] = c'\0' # Terminate format string
18365  *
18366  * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<
18367  * if PyArray_HASFIELDS(self):
18368  * stdlib.free(info.format)
18369  */
18370 
18371  /* function exit code */
18372  __Pyx_RefNannyFinishContext();
18373 }
18374 
18375 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771
18376  * ctypedef npy_cdouble complex_t
18377  *
18378  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
18379  * return PyArray_MultiIterNew(1, <void*>a)
18380  *
18381  */
18382 
18383 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
18384  PyObject *__pyx_r = NULL;
18385  __Pyx_RefNannyDeclarations
18386  PyObject *__pyx_t_1 = NULL;
18387  int __pyx_lineno = 0;
18388  const char *__pyx_filename = NULL;
18389  int __pyx_clineno = 0;
18390  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
18391 
18392  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":772
18393  *
18394  * cdef inline object PyArray_MultiIterNew1(a):
18395  * return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<
18396  *
18397  * cdef inline object PyArray_MultiIterNew2(a, b):
18398  */
18399  __Pyx_XDECREF(__pyx_r);
18400  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18401  __Pyx_GOTREF(__pyx_t_1);
18402  __pyx_r = __pyx_t_1;
18403  __pyx_t_1 = 0;
18404  goto __pyx_L0;
18405 
18406  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":771
18407  * ctypedef npy_cdouble complex_t
18408  *
18409  * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<
18410  * return PyArray_MultiIterNew(1, <void*>a)
18411  *
18412  */
18413 
18414  /* function exit code */
18415  __pyx_L1_error:;
18416  __Pyx_XDECREF(__pyx_t_1);
18417  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
18418  __pyx_r = 0;
18419  __pyx_L0:;
18420  __Pyx_XGIVEREF(__pyx_r);
18421  __Pyx_RefNannyFinishContext();
18422  return __pyx_r;
18423 }
18424 
18425 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774
18426  * return PyArray_MultiIterNew(1, <void*>a)
18427  *
18428  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
18429  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
18430  *
18431  */
18432 
18433 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
18434  PyObject *__pyx_r = NULL;
18435  __Pyx_RefNannyDeclarations
18436  PyObject *__pyx_t_1 = NULL;
18437  int __pyx_lineno = 0;
18438  const char *__pyx_filename = NULL;
18439  int __pyx_clineno = 0;
18440  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
18441 
18442  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":775
18443  *
18444  * cdef inline object PyArray_MultiIterNew2(a, b):
18445  * return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<
18446  *
18447  * cdef inline object PyArray_MultiIterNew3(a, b, c):
18448  */
18449  __Pyx_XDECREF(__pyx_r);
18450  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18451  __Pyx_GOTREF(__pyx_t_1);
18452  __pyx_r = __pyx_t_1;
18453  __pyx_t_1 = 0;
18454  goto __pyx_L0;
18455 
18456  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":774
18457  * return PyArray_MultiIterNew(1, <void*>a)
18458  *
18459  * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<
18460  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
18461  *
18462  */
18463 
18464  /* function exit code */
18465  __pyx_L1_error:;
18466  __Pyx_XDECREF(__pyx_t_1);
18467  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
18468  __pyx_r = 0;
18469  __pyx_L0:;
18470  __Pyx_XGIVEREF(__pyx_r);
18471  __Pyx_RefNannyFinishContext();
18472  return __pyx_r;
18473 }
18474 
18475 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777
18476  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
18477  *
18478  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
18479  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18480  *
18481  */
18482 
18483 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
18484  PyObject *__pyx_r = NULL;
18485  __Pyx_RefNannyDeclarations
18486  PyObject *__pyx_t_1 = NULL;
18487  int __pyx_lineno = 0;
18488  const char *__pyx_filename = NULL;
18489  int __pyx_clineno = 0;
18490  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
18491 
18492  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":778
18493  *
18494  * cdef inline object PyArray_MultiIterNew3(a, b, c):
18495  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<
18496  *
18497  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
18498  */
18499  __Pyx_XDECREF(__pyx_r);
18500  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18501  __Pyx_GOTREF(__pyx_t_1);
18502  __pyx_r = __pyx_t_1;
18503  __pyx_t_1 = 0;
18504  goto __pyx_L0;
18505 
18506  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":777
18507  * return PyArray_MultiIterNew(2, <void*>a, <void*>b)
18508  *
18509  * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<
18510  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18511  *
18512  */
18513 
18514  /* function exit code */
18515  __pyx_L1_error:;
18516  __Pyx_XDECREF(__pyx_t_1);
18517  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
18518  __pyx_r = 0;
18519  __pyx_L0:;
18520  __Pyx_XGIVEREF(__pyx_r);
18521  __Pyx_RefNannyFinishContext();
18522  return __pyx_r;
18523 }
18524 
18525 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780
18526  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18527  *
18528  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
18529  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18530  *
18531  */
18532 
18533 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
18534  PyObject *__pyx_r = NULL;
18535  __Pyx_RefNannyDeclarations
18536  PyObject *__pyx_t_1 = NULL;
18537  int __pyx_lineno = 0;
18538  const char *__pyx_filename = NULL;
18539  int __pyx_clineno = 0;
18540  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
18541 
18542  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":781
18543  *
18544  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
18545  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<
18546  *
18547  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
18548  */
18549  __Pyx_XDECREF(__pyx_r);
18550  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18551  __Pyx_GOTREF(__pyx_t_1);
18552  __pyx_r = __pyx_t_1;
18553  __pyx_t_1 = 0;
18554  goto __pyx_L0;
18555 
18556  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":780
18557  * return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
18558  *
18559  * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<
18560  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18561  *
18562  */
18563 
18564  /* function exit code */
18565  __pyx_L1_error:;
18566  __Pyx_XDECREF(__pyx_t_1);
18567  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
18568  __pyx_r = 0;
18569  __pyx_L0:;
18570  __Pyx_XGIVEREF(__pyx_r);
18571  __Pyx_RefNannyFinishContext();
18572  return __pyx_r;
18573 }
18574 
18575 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783
18576  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18577  *
18578  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
18579  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
18580  *
18581  */
18582 
18583 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
18584  PyObject *__pyx_r = NULL;
18585  __Pyx_RefNannyDeclarations
18586  PyObject *__pyx_t_1 = NULL;
18587  int __pyx_lineno = 0;
18588  const char *__pyx_filename = NULL;
18589  int __pyx_clineno = 0;
18590  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
18591 
18592  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":784
18593  *
18594  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
18595  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<
18596  *
18597  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
18598  */
18599  __Pyx_XDECREF(__pyx_r);
18600  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18601  __Pyx_GOTREF(__pyx_t_1);
18602  __pyx_r = __pyx_t_1;
18603  __pyx_t_1 = 0;
18604  goto __pyx_L0;
18605 
18606  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":783
18607  * return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
18608  *
18609  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<
18610  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
18611  *
18612  */
18613 
18614  /* function exit code */
18615  __pyx_L1_error:;
18616  __Pyx_XDECREF(__pyx_t_1);
18617  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
18618  __pyx_r = 0;
18619  __pyx_L0:;
18620  __Pyx_XGIVEREF(__pyx_r);
18621  __Pyx_RefNannyFinishContext();
18622  return __pyx_r;
18623 }
18624 
18625 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":786
18626  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
18627  *
18628  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
18629  * # Recursive utility function used in __getbuffer__ to get format
18630  * # string. The new location in the format string is returned.
18631  */
18632 
18633 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
18634  PyArray_Descr *__pyx_v_child = 0;
18635  int __pyx_v_endian_detector;
18636  int __pyx_v_little_endian;
18637  PyObject *__pyx_v_fields = 0;
18638  PyObject *__pyx_v_childname = NULL;
18639  PyObject *__pyx_v_new_offset = NULL;
18640  PyObject *__pyx_v_t = NULL;
18641  char *__pyx_r;
18642  __Pyx_RefNannyDeclarations
18643  PyObject *__pyx_t_1 = NULL;
18644  Py_ssize_t __pyx_t_2;
18645  PyObject *__pyx_t_3 = NULL;
18646  PyObject *__pyx_t_4 = NULL;
18647  int __pyx_t_5;
18648  int __pyx_t_6;
18649  int __pyx_t_7;
18650  long __pyx_t_8;
18651  char *__pyx_t_9;
18652  int __pyx_lineno = 0;
18653  const char *__pyx_filename = NULL;
18654  int __pyx_clineno = 0;
18655  __Pyx_RefNannySetupContext("_util_dtypestring", 0);
18656 
18657  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":793
18658  * cdef int delta_offset
18659  * cdef tuple i
18660  * cdef int endian_detector = 1 # <<<<<<<<<<<<<<
18661  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
18662  * cdef tuple fields
18663  */
18664  __pyx_v_endian_detector = 1;
18665 
18666  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":794
18667  * cdef tuple i
18668  * cdef int endian_detector = 1
18669  * cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<
18670  * cdef tuple fields
18671  *
18672  */
18673  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
18674 
18675  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":797
18676  * cdef tuple fields
18677  *
18678  * for childname in descr.names: # <<<<<<<<<<<<<<
18679  * fields = descr.fields[childname]
18680  * child, new_offset = fields
18681  */
18682  if (unlikely(__pyx_v_descr->names == Py_None)) {
18683  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
18684  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18685  }
18686  __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
18687  for (;;) {
18688  if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
18689  #if CYTHON_COMPILING_IN_CPYTHON
18690  __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18691  #else
18692  __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18693  #endif
18694  __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);
18695  __pyx_t_3 = 0;
18696 
18697  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":798
18698  *
18699  * for childname in descr.names:
18700  * fields = descr.fields[childname] # <<<<<<<<<<<<<<
18701  * child, new_offset = fields
18702  *
18703  */
18704  if (unlikely(__pyx_v_descr->fields == Py_None)) {
18705  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
18706  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18707  }
18708  __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
18709  __Pyx_GOTREF(__pyx_t_3);
18710  if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18711  __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));
18712  __pyx_t_3 = 0;
18713 
18714  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":799
18715  * for childname in descr.names:
18716  * fields = descr.fields[childname]
18717  * child, new_offset = fields # <<<<<<<<<<<<<<
18718  *
18719  * if (end - f) - <int>(new_offset - offset[0]) < 15:
18720  */
18721  if (likely(__pyx_v_fields != Py_None)) {
18722  PyObject* sequence = __pyx_v_fields;
18723  #if CYTHON_COMPILING_IN_CPYTHON
18724  Py_ssize_t size = Py_SIZE(sequence);
18725  #else
18726  Py_ssize_t size = PySequence_Size(sequence);
18727  #endif
18728  if (unlikely(size != 2)) {
18729  if (size > 2) __Pyx_RaiseTooManyValuesError(2);
18730  else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
18731  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18732  }
18733  #if CYTHON_COMPILING_IN_CPYTHON
18734  __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
18735  __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
18736  __Pyx_INCREF(__pyx_t_3);
18737  __Pyx_INCREF(__pyx_t_4);
18738  #else
18739  __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18740  __Pyx_GOTREF(__pyx_t_3);
18741  __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18742  __Pyx_GOTREF(__pyx_t_4);
18743  #endif
18744  } else {
18745  __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18746  }
18747  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18748  __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));
18749  __pyx_t_3 = 0;
18750  __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);
18751  __pyx_t_4 = 0;
18752 
18753  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":801
18754  * child, new_offset = fields
18755  *
18756  * if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<
18757  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
18758  *
18759  */
18760  __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18761  __Pyx_GOTREF(__pyx_t_4);
18762  __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18763  __Pyx_GOTREF(__pyx_t_3);
18764  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18765  __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18766  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18767  __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);
18768  if (__pyx_t_6) {
18769 
18770  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802
18771  *
18772  * if (end - f) - <int>(new_offset - offset[0]) < 15:
18773  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
18774  *
18775  * if ((child.byteorder == c'>' and little_endian) or
18776  */
18777  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18778  __Pyx_GOTREF(__pyx_t_3);
18779  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
18780  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18781  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18782  }
18783 
18784  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":804
18785  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
18786  *
18787  * if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<
18788  * (child.byteorder == c'<' and not little_endian)):
18789  * raise ValueError(u"Non-native byte order not supported")
18790  */
18791  __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);
18792  if (!__pyx_t_7) {
18793  goto __pyx_L8_next_or;
18794  } else {
18795  }
18796  __pyx_t_7 = (__pyx_v_little_endian != 0);
18797  if (!__pyx_t_7) {
18798  } else {
18799  __pyx_t_6 = __pyx_t_7;
18800  goto __pyx_L7_bool_binop_done;
18801  }
18802  __pyx_L8_next_or:;
18803 
18804  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":805
18805  *
18806  * if ((child.byteorder == c'>' and little_endian) or
18807  * (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<
18808  * raise ValueError(u"Non-native byte order not supported")
18809  * # One could encode it in the format string and have Cython
18810  */
18811  __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);
18812  if (__pyx_t_7) {
18813  } else {
18814  __pyx_t_6 = __pyx_t_7;
18815  goto __pyx_L7_bool_binop_done;
18816  }
18817  __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);
18818  __pyx_t_6 = __pyx_t_7;
18819  __pyx_L7_bool_binop_done:;
18820  if (__pyx_t_6) {
18821 
18822  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":806
18823  * if ((child.byteorder == c'>' and little_endian) or
18824  * (child.byteorder == c'<' and not little_endian)):
18825  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
18826  * # One could encode it in the format string and have Cython
18827  * # complain instead, BUT: < and > in format strings also imply
18828  */
18829  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18830  __Pyx_GOTREF(__pyx_t_3);
18831  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
18832  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18833  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18834  }
18835 
18836  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":816
18837  *
18838  * # Output padding bytes
18839  * while offset[0] < new_offset: # <<<<<<<<<<<<<<
18840  * f[0] = 120 # "x"; pad byte
18841  * f += 1
18842  */
18843  while (1) {
18844  __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18845  __Pyx_GOTREF(__pyx_t_3);
18846  __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18847  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18848  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18849  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18850  if (!__pyx_t_6) break;
18851 
18852  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":817
18853  * # Output padding bytes
18854  * while offset[0] < new_offset:
18855  * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<
18856  * f += 1
18857  * offset[0] += 1
18858  */
18859  (__pyx_v_f[0]) = 120;
18860 
18861  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":818
18862  * while offset[0] < new_offset:
18863  * f[0] = 120 # "x"; pad byte
18864  * f += 1 # <<<<<<<<<<<<<<
18865  * offset[0] += 1
18866  *
18867  */
18868  __pyx_v_f = (__pyx_v_f + 1);
18869 
18870  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":819
18871  * f[0] = 120 # "x"; pad byte
18872  * f += 1
18873  * offset[0] += 1 # <<<<<<<<<<<<<<
18874  *
18875  * offset[0] += child.itemsize
18876  */
18877  __pyx_t_8 = 0;
18878  (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);
18879  }
18880 
18881  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":821
18882  * offset[0] += 1
18883  *
18884  * offset[0] += child.itemsize # <<<<<<<<<<<<<<
18885  *
18886  * if not PyDataType_HASFIELDS(child):
18887  */
18888  __pyx_t_8 = 0;
18889  (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);
18890 
18891  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":823
18892  * offset[0] += child.itemsize
18893  *
18894  * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<
18895  * t = child.type_num
18896  * if end - f < 5:
18897  */
18898  __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);
18899  if (__pyx_t_6) {
18900 
18901  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":824
18902  *
18903  * if not PyDataType_HASFIELDS(child):
18904  * t = child.type_num # <<<<<<<<<<<<<<
18905  * if end - f < 5:
18906  * raise RuntimeError(u"Format string allocated too short.")
18907  */
18908  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18909  __Pyx_GOTREF(__pyx_t_4);
18910  __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);
18911  __pyx_t_4 = 0;
18912 
18913  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":825
18914  * if not PyDataType_HASFIELDS(child):
18915  * t = child.type_num
18916  * if end - f < 5: # <<<<<<<<<<<<<<
18917  * raise RuntimeError(u"Format string allocated too short.")
18918  *
18919  */
18920  __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);
18921  if (__pyx_t_6) {
18922 
18923  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826
18924  * t = child.type_num
18925  * if end - f < 5:
18926  * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
18927  *
18928  * # Until ticket #99 is fixed, use integers to avoid warnings
18929  */
18930  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18931  __Pyx_GOTREF(__pyx_t_4);
18932  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
18933  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18934  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18935  }
18936 
18937  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":829
18938  *
18939  * # Until ticket #99 is fixed, use integers to avoid warnings
18940  * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<
18941  * elif t == NPY_UBYTE: f[0] = 66 #"B"
18942  * elif t == NPY_SHORT: f[0] = 104 #"h"
18943  */
18944  __pyx_t_4 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18945  __Pyx_GOTREF(__pyx_t_4);
18946  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18947  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18948  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18949  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18950  if (__pyx_t_6) {
18951  (__pyx_v_f[0]) = 98;
18952  goto __pyx_L15;
18953  }
18954 
18955  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":830
18956  * # Until ticket #99 is fixed, use integers to avoid warnings
18957  * if t == NPY_BYTE: f[0] = 98 #"b"
18958  * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<
18959  * elif t == NPY_SHORT: f[0] = 104 #"h"
18960  * elif t == NPY_USHORT: f[0] = 72 #"H"
18961  */
18962  __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18963  __Pyx_GOTREF(__pyx_t_3);
18964  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18965  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18966  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18967  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18968  if (__pyx_t_6) {
18969  (__pyx_v_f[0]) = 66;
18970  goto __pyx_L15;
18971  }
18972 
18973  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":831
18974  * if t == NPY_BYTE: f[0] = 98 #"b"
18975  * elif t == NPY_UBYTE: f[0] = 66 #"B"
18976  * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<
18977  * elif t == NPY_USHORT: f[0] = 72 #"H"
18978  * elif t == NPY_INT: f[0] = 105 #"i"
18979  */
18980  __pyx_t_4 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18981  __Pyx_GOTREF(__pyx_t_4);
18982  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18983  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18984  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18985  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
18986  if (__pyx_t_6) {
18987  (__pyx_v_f[0]) = 104;
18988  goto __pyx_L15;
18989  }
18990 
18991  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":832
18992  * elif t == NPY_UBYTE: f[0] = 66 #"B"
18993  * elif t == NPY_SHORT: f[0] = 104 #"h"
18994  * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<
18995  * elif t == NPY_INT: f[0] = 105 #"i"
18996  * elif t == NPY_UINT: f[0] = 73 #"I"
18997  */
18998  __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
18999  __Pyx_GOTREF(__pyx_t_3);
19000  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19001  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19002  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19003  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19004  if (__pyx_t_6) {
19005  (__pyx_v_f[0]) = 72;
19006  goto __pyx_L15;
19007  }
19008 
19009  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":833
19010  * elif t == NPY_SHORT: f[0] = 104 #"h"
19011  * elif t == NPY_USHORT: f[0] = 72 #"H"
19012  * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<
19013  * elif t == NPY_UINT: f[0] = 73 #"I"
19014  * elif t == NPY_LONG: f[0] = 108 #"l"
19015  */
19016  __pyx_t_4 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19017  __Pyx_GOTREF(__pyx_t_4);
19018  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19019  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19020  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19021  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19022  if (__pyx_t_6) {
19023  (__pyx_v_f[0]) = 105;
19024  goto __pyx_L15;
19025  }
19026 
19027  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":834
19028  * elif t == NPY_USHORT: f[0] = 72 #"H"
19029  * elif t == NPY_INT: f[0] = 105 #"i"
19030  * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<
19031  * elif t == NPY_LONG: f[0] = 108 #"l"
19032  * elif t == NPY_ULONG: f[0] = 76 #"L"
19033  */
19034  __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19035  __Pyx_GOTREF(__pyx_t_3);
19036  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19037  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19038  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19039  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19040  if (__pyx_t_6) {
19041  (__pyx_v_f[0]) = 73;
19042  goto __pyx_L15;
19043  }
19044 
19045  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":835
19046  * elif t == NPY_INT: f[0] = 105 #"i"
19047  * elif t == NPY_UINT: f[0] = 73 #"I"
19048  * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<
19049  * elif t == NPY_ULONG: f[0] = 76 #"L"
19050  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
19051  */
19052  __pyx_t_4 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19053  __Pyx_GOTREF(__pyx_t_4);
19054  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19055  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19056  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19057  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19058  if (__pyx_t_6) {
19059  (__pyx_v_f[0]) = 108;
19060  goto __pyx_L15;
19061  }
19062 
19063  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":836
19064  * elif t == NPY_UINT: f[0] = 73 #"I"
19065  * elif t == NPY_LONG: f[0] = 108 #"l"
19066  * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<
19067  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
19068  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
19069  */
19070  __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19071  __Pyx_GOTREF(__pyx_t_3);
19072  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19073  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19074  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19075  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19076  if (__pyx_t_6) {
19077  (__pyx_v_f[0]) = 76;
19078  goto __pyx_L15;
19079  }
19080 
19081  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":837
19082  * elif t == NPY_LONG: f[0] = 108 #"l"
19083  * elif t == NPY_ULONG: f[0] = 76 #"L"
19084  * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<
19085  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
19086  * elif t == NPY_FLOAT: f[0] = 102 #"f"
19087  */
19088  __pyx_t_4 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19089  __Pyx_GOTREF(__pyx_t_4);
19090  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19091  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19092  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19093  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19094  if (__pyx_t_6) {
19095  (__pyx_v_f[0]) = 113;
19096  goto __pyx_L15;
19097  }
19098 
19099  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":838
19100  * elif t == NPY_ULONG: f[0] = 76 #"L"
19101  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
19102  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<
19103  * elif t == NPY_FLOAT: f[0] = 102 #"f"
19104  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
19105  */
19106  __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19107  __Pyx_GOTREF(__pyx_t_3);
19108  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19109  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19110  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19111  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19112  if (__pyx_t_6) {
19113  (__pyx_v_f[0]) = 81;
19114  goto __pyx_L15;
19115  }
19116 
19117  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":839
19118  * elif t == NPY_LONGLONG: f[0] = 113 #"q"
19119  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
19120  * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<
19121  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
19122  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
19123  */
19124  __pyx_t_4 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19125  __Pyx_GOTREF(__pyx_t_4);
19126  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19127  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19128  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19129  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19130  if (__pyx_t_6) {
19131  (__pyx_v_f[0]) = 102;
19132  goto __pyx_L15;
19133  }
19134 
19135  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":840
19136  * elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
19137  * elif t == NPY_FLOAT: f[0] = 102 #"f"
19138  * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<
19139  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
19140  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
19141  */
19142  __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19143  __Pyx_GOTREF(__pyx_t_3);
19144  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19145  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19146  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19147  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19148  if (__pyx_t_6) {
19149  (__pyx_v_f[0]) = 100;
19150  goto __pyx_L15;
19151  }
19152 
19153  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":841
19154  * elif t == NPY_FLOAT: f[0] = 102 #"f"
19155  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
19156  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<
19157  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
19158  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
19159  */
19160  __pyx_t_4 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19161  __Pyx_GOTREF(__pyx_t_4);
19162  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19163  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19164  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19165  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19166  if (__pyx_t_6) {
19167  (__pyx_v_f[0]) = 103;
19168  goto __pyx_L15;
19169  }
19170 
19171  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":842
19172  * elif t == NPY_DOUBLE: f[0] = 100 #"d"
19173  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
19174  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<
19175  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
19176  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
19177  */
19178  __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19179  __Pyx_GOTREF(__pyx_t_3);
19180  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19181  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19182  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19183  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19184  if (__pyx_t_6) {
19185  (__pyx_v_f[0]) = 90;
19186  (__pyx_v_f[1]) = 102;
19187  __pyx_v_f = (__pyx_v_f + 1);
19188  goto __pyx_L15;
19189  }
19190 
19191  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":843
19192  * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
19193  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
19194  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<
19195  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
19196  * elif t == NPY_OBJECT: f[0] = 79 #"O"
19197  */
19198  __pyx_t_4 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19199  __Pyx_GOTREF(__pyx_t_4);
19200  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19201  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19202  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19203  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19204  if (__pyx_t_6) {
19205  (__pyx_v_f[0]) = 90;
19206  (__pyx_v_f[1]) = 100;
19207  __pyx_v_f = (__pyx_v_f + 1);
19208  goto __pyx_L15;
19209  }
19210 
19211  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":844
19212  * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
19213  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
19214  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<
19215  * elif t == NPY_OBJECT: f[0] = 79 #"O"
19216  * else:
19217  */
19218  __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19219  __Pyx_GOTREF(__pyx_t_3);
19220  __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19221  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19222  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19223  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19224  if (__pyx_t_6) {
19225  (__pyx_v_f[0]) = 90;
19226  (__pyx_v_f[1]) = 103;
19227  __pyx_v_f = (__pyx_v_f + 1);
19228  goto __pyx_L15;
19229  }
19230 
19231  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":845
19232  * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
19233  * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
19234  * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<
19235  * else:
19236  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
19237  */
19238  __pyx_t_4 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19239  __Pyx_GOTREF(__pyx_t_4);
19240  __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19241  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19242  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19243  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19244  if (__pyx_t_6) {
19245  (__pyx_v_f[0]) = 79;
19246  goto __pyx_L15;
19247  }
19248  /*else*/ {
19249 
19250  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":847
19251  * elif t == NPY_OBJECT: f[0] = 79 #"O"
19252  * else:
19253  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<
19254  * f += 1
19255  * else:
19256  */
19257  __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19258  __Pyx_GOTREF(__pyx_t_3);
19259  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19260  __Pyx_GOTREF(__pyx_t_4);
19261  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
19262  __Pyx_GIVEREF(__pyx_t_3);
19263  __pyx_t_3 = 0;
19264  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19265  __Pyx_GOTREF(__pyx_t_3);
19266  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
19267  __Pyx_Raise(__pyx_t_3, 0, 0, 0);
19268  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
19269  {__pyx_filename = __pyx_f[1]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19270  }
19271  __pyx_L15:;
19272 
19273  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":848
19274  * else:
19275  * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
19276  * f += 1 # <<<<<<<<<<<<<<
19277  * else:
19278  * # Cython ignores struct boundary information ("T{...}"),
19279  */
19280  __pyx_v_f = (__pyx_v_f + 1);
19281  goto __pyx_L13;
19282  }
19283  /*else*/ {
19284 
19285  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":852
19286  * # Cython ignores struct boundary information ("T{...}"),
19287  * # so don't output it
19288  * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<
19289  * return f
19290  *
19291  */
19292  __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
19293  __pyx_v_f = __pyx_t_9;
19294  }
19295  __pyx_L13:;
19296 
19297  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":797
19298  * cdef tuple fields
19299  *
19300  * for childname in descr.names: # <<<<<<<<<<<<<<
19301  * fields = descr.fields[childname]
19302  * child, new_offset = fields
19303  */
19304  }
19305  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19306 
19307  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":853
19308  * # so don't output it
19309  * f = _util_dtypestring(child, f, end, offset)
19310  * return f # <<<<<<<<<<<<<<
19311  *
19312  *
19313  */
19314  __pyx_r = __pyx_v_f;
19315  goto __pyx_L0;
19316 
19317  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":786
19318  * return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
19319  *
19320  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<
19321  * # Recursive utility function used in __getbuffer__ to get format
19322  * # string. The new location in the format string is returned.
19323  */
19324 
19325  /* function exit code */
19326  __pyx_L1_error:;
19327  __Pyx_XDECREF(__pyx_t_1);
19328  __Pyx_XDECREF(__pyx_t_3);
19329  __Pyx_XDECREF(__pyx_t_4);
19330  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
19331  __pyx_r = NULL;
19332  __pyx_L0:;
19333  __Pyx_XDECREF((PyObject *)__pyx_v_child);
19334  __Pyx_XDECREF(__pyx_v_fields);
19335  __Pyx_XDECREF(__pyx_v_childname);
19336  __Pyx_XDECREF(__pyx_v_new_offset);
19337  __Pyx_XDECREF(__pyx_v_t);
19338  __Pyx_RefNannyFinishContext();
19339  return __pyx_r;
19340 }
19341 
19342 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969
19343  *
19344  *
19345  * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
19346  * cdef PyObject* baseptr
19347  * if base is None:
19348  */
19349 
19350 static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
19351  PyObject *__pyx_v_baseptr;
19352  __Pyx_RefNannyDeclarations
19353  int __pyx_t_1;
19354  int __pyx_t_2;
19355  __Pyx_RefNannySetupContext("set_array_base", 0);
19356 
19357  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":971
19358  * cdef inline void set_array_base(ndarray arr, object base):
19359  * cdef PyObject* baseptr
19360  * if base is None: # <<<<<<<<<<<<<<
19361  * baseptr = NULL
19362  * else:
19363  */
19364  __pyx_t_1 = (__pyx_v_base == Py_None);
19365  __pyx_t_2 = (__pyx_t_1 != 0);
19366  if (__pyx_t_2) {
19367 
19368  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":972
19369  * cdef PyObject* baseptr
19370  * if base is None:
19371  * baseptr = NULL # <<<<<<<<<<<<<<
19372  * else:
19373  * Py_INCREF(base) # important to do this before decref below!
19374  */
19375  __pyx_v_baseptr = NULL;
19376  goto __pyx_L3;
19377  }
19378  /*else*/ {
19379 
19380  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":974
19381  * baseptr = NULL
19382  * else:
19383  * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<<
19384  * baseptr = <PyObject*>base
19385  * Py_XDECREF(arr.base)
19386  */
19387  Py_INCREF(__pyx_v_base);
19388 
19389  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":975
19390  * else:
19391  * Py_INCREF(base) # important to do this before decref below!
19392  * baseptr = <PyObject*>base # <<<<<<<<<<<<<<
19393  * Py_XDECREF(arr.base)
19394  * arr.base = baseptr
19395  */
19396  __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
19397  }
19398  __pyx_L3:;
19399 
19400  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":976
19401  * Py_INCREF(base) # important to do this before decref below!
19402  * baseptr = <PyObject*>base
19403  * Py_XDECREF(arr.base) # <<<<<<<<<<<<<<
19404  * arr.base = baseptr
19405  *
19406  */
19407  Py_XDECREF(__pyx_v_arr->base);
19408 
19409  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":977
19410  * baseptr = <PyObject*>base
19411  * Py_XDECREF(arr.base)
19412  * arr.base = baseptr # <<<<<<<<<<<<<<
19413  *
19414  * cdef inline object get_array_base(ndarray arr):
19415  */
19416  __pyx_v_arr->base = __pyx_v_baseptr;
19417 
19418  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":969
19419  *
19420  *
19421  * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<
19422  * cdef PyObject* baseptr
19423  * if base is None:
19424  */
19425 
19426  /* function exit code */
19427  __Pyx_RefNannyFinishContext();
19428 }
19429 
19430 /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":979
19431  * arr.base = baseptr
19432  *
19433  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
19434  * if arr.base is NULL:
19435  * return None
19436  */
19437 
19438 static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
19439  PyObject *__pyx_r = NULL;
19440  __Pyx_RefNannyDeclarations
19441  int __pyx_t_1;
19442  __Pyx_RefNannySetupContext("get_array_base", 0);
19443 
19444  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":980
19445  *
19446  * cdef inline object get_array_base(ndarray arr):
19447  * if arr.base is NULL: # <<<<<<<<<<<<<<
19448  * return None
19449  * else:
19450  */
19451  __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
19452  if (__pyx_t_1) {
19453 
19454  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":981
19455  * cdef inline object get_array_base(ndarray arr):
19456  * if arr.base is NULL:
19457  * return None # <<<<<<<<<<<<<<
19458  * else:
19459  * return <object>arr.base
19460  */
19461  __Pyx_XDECREF(__pyx_r);
19462  __Pyx_INCREF(Py_None);
19463  __pyx_r = Py_None;
19464  goto __pyx_L0;
19465  }
19466  /*else*/ {
19467 
19468  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":983
19469  * return None
19470  * else:
19471  * return <object>arr.base # <<<<<<<<<<<<<<
19472  */
19473  __Pyx_XDECREF(__pyx_r);
19474  __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
19475  __pyx_r = ((PyObject *)__pyx_v_arr->base);
19476  goto __pyx_L0;
19477  }
19478 
19479  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":979
19480  * arr.base = baseptr
19481  *
19482  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
19483  * if arr.base is NULL:
19484  * return None
19485  */
19486 
19487  /* function exit code */
19488  __pyx_L0:;
19489  __Pyx_XGIVEREF(__pyx_r);
19490  __Pyx_RefNannyFinishContext();
19491  return __pyx_r;
19492 }
19493 
19494 static PyObject *__pyx_tp_new_10espressomd_12interactions_NonBondedInteraction(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
19495  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *p;
19496  PyObject *o;
19497  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
19498  o = (*t->tp_alloc)(t, 0);
19499  } else {
19500  o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
19501  }
19502  if (unlikely(!o)) return 0;
19503  p = ((struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)o);
19504  p->_partTypes = Py_None; Py_INCREF(Py_None);
19505  p->_params = Py_None; Py_INCREF(Py_None);
19506  return o;
19507 }
19508 
19509 static void __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteraction(PyObject *o) {
19510  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *p = (struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)o;
19511  #if PY_VERSION_HEX >= 0x030400a1
19512  if (unlikely(Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
19513  if (PyObject_CallFinalizerFromDealloc(o)) return;
19514  }
19515  #endif
19516  PyObject_GC_UnTrack(o);
19517  Py_CLEAR(p->_partTypes);
19518  Py_CLEAR(p->_params);
19519  (*Py_TYPE(o)->tp_free)(o);
19520 }
19521 
19522 static int __pyx_tp_traverse_10espressomd_12interactions_NonBondedInteraction(PyObject *o, visitproc v, void *a) {
19523  int e;
19524  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *p = (struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)o;
19525  if (p->_partTypes) {
19526  e = (*v)(p->_partTypes, a); if (e) return e;
19527  }
19528  if (p->_params) {
19529  e = (*v)(p->_params, a); if (e) return e;
19530  }
19531  return 0;
19532 }
19533 
19534 static int __pyx_tp_clear_10espressomd_12interactions_NonBondedInteraction(PyObject *o) {
19535  PyObject* tmp;
19536  struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *p = (struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction *)o;
19537  tmp = ((PyObject*)p->_partTypes);
19538  p->_partTypes = Py_None; Py_INCREF(Py_None);
19539  Py_XDECREF(tmp);
19540  tmp = ((PyObject*)p->_params);
19541  p->_params = Py_None; Py_INCREF(Py_None);
19542  Py_XDECREF(tmp);
19543  return 0;
19544 }
19545 
19546 static PyObject *__pyx_getprop_10espressomd_12interactions_20NonBondedInteraction__partTypes(PyObject *o, CYTHON_UNUSED void *x) {
19547  return __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_1__get__(o);
19548 }
19549 
19550 static int __pyx_setprop_10espressomd_12interactions_20NonBondedInteraction__partTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
19551  if (v) {
19552  return __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_3__set__(o, v);
19553  }
19554  else {
19555  return __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_10_partTypes_5__del__(o);
19556  }
19557 }
19558 
19559 static PyMethodDef __pyx_methods_10espressomd_12interactions_NonBondedInteraction[] = {
19560  {"isValid", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_3isValid, METH_NOARGS, __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_2isValid},
19561  {"getParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_5getParams, METH_NOARGS, __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_4getParams},
19562  {"setParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_7setParams, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10espressomd_12interactions_20NonBondedInteraction_6setParams},
19563  {"validateParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_9validateParams, METH_NOARGS, 0},
19564  {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_11_getParamsFromEsCore, METH_NOARGS, 0},
19565  {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_13_setParamsInEsCore, METH_NOARGS, 0},
19566  {"defaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_15defaultParams, METH_NOARGS, 0},
19567  {"isActive", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_17isActive, METH_NOARGS, 0},
19568  {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_19typeName, METH_NOARGS, 0},
19569  {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_21validKeys, METH_NOARGS, 0},
19570  {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_20NonBondedInteraction_23requiredKeys, METH_NOARGS, 0},
19571  {0, 0, 0, 0}
19572 };
19573 
19574 static struct PyGetSetDef __pyx_getsets_10espressomd_12interactions_NonBondedInteraction[] = {
19575  {(char *)"_partTypes", __pyx_getprop_10espressomd_12interactions_20NonBondedInteraction__partTypes, __pyx_setprop_10espressomd_12interactions_20NonBondedInteraction__partTypes, 0, 0},
19576  {0, 0, 0, 0, 0}
19577 };
19578 
19579 static PyTypeObject __pyx_type_10espressomd_12interactions_NonBondedInteraction = {
19580  PyVarObject_HEAD_INIT(0, 0)
19581  "espressomd.interactions.NonBondedInteraction", /*tp_name*/
19582  sizeof(struct __pyx_obj_10espressomd_12interactions_NonBondedInteraction), /*tp_basicsize*/
19583  0, /*tp_itemsize*/
19584  __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteraction, /*tp_dealloc*/
19585  0, /*tp_print*/
19586  0, /*tp_getattr*/
19587  0, /*tp_setattr*/
19588  #if PY_MAJOR_VERSION < 3
19589  0, /*tp_compare*/
19590  #else
19591  0, /*reserved*/
19592  #endif
19593  0, /*tp_repr*/
19594  0, /*tp_as_number*/
19595  0, /*tp_as_sequence*/
19596  0, /*tp_as_mapping*/
19597  0, /*tp_hash*/
19598  0, /*tp_call*/
19599  0, /*tp_str*/
19600  0, /*tp_getattro*/
19601  0, /*tp_setattro*/
19602  0, /*tp_as_buffer*/
19603  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
19604  0, /*tp_doc*/
19605  __pyx_tp_traverse_10espressomd_12interactions_NonBondedInteraction, /*tp_traverse*/
19606  __pyx_tp_clear_10espressomd_12interactions_NonBondedInteraction, /*tp_clear*/
19607  0, /*tp_richcompare*/
19608  0, /*tp_weaklistoffset*/
19609  0, /*tp_iter*/
19610  0, /*tp_iternext*/
19611  __pyx_methods_10espressomd_12interactions_NonBondedInteraction, /*tp_methods*/
19612  0, /*tp_members*/
19613  __pyx_getsets_10espressomd_12interactions_NonBondedInteraction, /*tp_getset*/
19614  0, /*tp_base*/
19615  0, /*tp_dict*/
19616  0, /*tp_descr_get*/
19617  0, /*tp_descr_set*/
19618  0, /*tp_dictoffset*/
19619  __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_1__init__, /*tp_init*/
19620  0, /*tp_alloc*/
19621  __pyx_tp_new_10espressomd_12interactions_NonBondedInteraction, /*tp_new*/
19622  0, /*tp_free*/
19623  0, /*tp_is_gc*/
19624  0, /*tp_bases*/
19625  0, /*tp_mro*/
19626  0, /*tp_cache*/
19627  0, /*tp_subclasses*/
19628  0, /*tp_weaklist*/
19629  0, /*tp_del*/
19630  0, /*tp_version_tag*/
19631  #if PY_VERSION_HEX >= 0x030400a1
19632  0, /*tp_finalize*/
19633  #endif
19634 };
19635 
19636 static PyObject *__pyx_tp_new_10espressomd_12interactions_LennardJonesInteraction(PyTypeObject *t, PyObject *a, PyObject *k) {
19637  PyObject *o = __pyx_tp_new_10espressomd_12interactions_NonBondedInteraction(t, a, k);
19638  if (unlikely(!o)) return 0;
19639  return o;
19640 }
19641 
19642 static PyMethodDef __pyx_methods_10espressomd_12interactions_LennardJonesInteraction[] = {
19643  {"validateParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_1validateParams, METH_NOARGS, 0},
19644  {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_3_getParamsFromEsCore, METH_NOARGS, 0},
19645  {"isActive", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_5isActive, METH_NOARGS, 0},
19646  {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_7_setParamsInEsCore, METH_NOARGS, 0},
19647  {"defaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_9defaultParams, METH_NOARGS, 0},
19648  {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_11typeName, METH_NOARGS, 0},
19649  {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_13validKeys, METH_NOARGS, 0},
19650  {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_23LennardJonesInteraction_15requiredKeys, METH_NOARGS, 0},
19651  {0, 0, 0, 0}
19652 };
19653 
19654 static PyTypeObject __pyx_type_10espressomd_12interactions_LennardJonesInteraction = {
19655  PyVarObject_HEAD_INIT(0, 0)
19656  "espressomd.interactions.LennardJonesInteraction", /*tp_name*/
19657  sizeof(struct __pyx_obj_10espressomd_12interactions_LennardJonesInteraction), /*tp_basicsize*/
19658  0, /*tp_itemsize*/
19659  __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteraction, /*tp_dealloc*/
19660  0, /*tp_print*/
19661  0, /*tp_getattr*/
19662  0, /*tp_setattr*/
19663  #if PY_MAJOR_VERSION < 3
19664  0, /*tp_compare*/
19665  #else
19666  0, /*reserved*/
19667  #endif
19668  0, /*tp_repr*/
19669  0, /*tp_as_number*/
19670  0, /*tp_as_sequence*/
19671  0, /*tp_as_mapping*/
19672  0, /*tp_hash*/
19673  0, /*tp_call*/
19674  0, /*tp_str*/
19675  0, /*tp_getattro*/
19676  0, /*tp_setattro*/
19677  0, /*tp_as_buffer*/
19678  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
19679  0, /*tp_doc*/
19680  __pyx_tp_traverse_10espressomd_12interactions_NonBondedInteraction, /*tp_traverse*/
19681  __pyx_tp_clear_10espressomd_12interactions_NonBondedInteraction, /*tp_clear*/
19682  0, /*tp_richcompare*/
19683  0, /*tp_weaklistoffset*/
19684  0, /*tp_iter*/
19685  0, /*tp_iternext*/
19686  __pyx_methods_10espressomd_12interactions_LennardJonesInteraction, /*tp_methods*/
19687  0, /*tp_members*/
19688  0, /*tp_getset*/
19689  0, /*tp_base*/
19690  0, /*tp_dict*/
19691  0, /*tp_descr_get*/
19692  0, /*tp_descr_set*/
19693  0, /*tp_dictoffset*/
19694  #if CYTHON_COMPILING_IN_PYPY
19695  __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_1__init__, /*tp_init*/
19696  #else
19697  0, /*tp_init*/
19698  #endif
19699  0, /*tp_alloc*/
19700  __pyx_tp_new_10espressomd_12interactions_LennardJonesInteraction, /*tp_new*/
19701  0, /*tp_free*/
19702  0, /*tp_is_gc*/
19703  0, /*tp_bases*/
19704  0, /*tp_mro*/
19705  0, /*tp_cache*/
19706  0, /*tp_subclasses*/
19707  0, /*tp_weaklist*/
19708  0, /*tp_del*/
19709  0, /*tp_version_tag*/
19710  #if PY_VERSION_HEX >= 0x030400a1
19711  0, /*tp_finalize*/
19712  #endif
19713 };
19714 
19715 static PyObject *__pyx_tp_new_10espressomd_12interactions_GenericLennardJonesInteraction(PyTypeObject *t, PyObject *a, PyObject *k) {
19716  PyObject *o = __pyx_tp_new_10espressomd_12interactions_NonBondedInteraction(t, a, k);
19717  if (unlikely(!o)) return 0;
19718  return o;
19719 }
19720 
19721 static PyMethodDef __pyx_methods_10espressomd_12interactions_GenericLennardJonesInteraction[] = {
19722  {"validateParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_1validateParams, METH_NOARGS, 0},
19723  {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_3_getParamsFromEsCore, METH_NOARGS, 0},
19724  {"isActive", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_5isActive, METH_NOARGS, 0},
19725  {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_7_setParamsInEsCore, METH_NOARGS, 0},
19726  {"defaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_9defaultParams, METH_NOARGS, 0},
19727  {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_11typeName, METH_NOARGS, 0},
19728  {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_13validKeys, METH_NOARGS, 0},
19729  {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_30GenericLennardJonesInteraction_15requiredKeys, METH_NOARGS, 0},
19730  {0, 0, 0, 0}
19731 };
19732 
19733 static PyTypeObject __pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction = {
19734  PyVarObject_HEAD_INIT(0, 0)
19735  "espressomd.interactions.GenericLennardJonesInteraction", /*tp_name*/
19736  sizeof(struct __pyx_obj_10espressomd_12interactions_GenericLennardJonesInteraction), /*tp_basicsize*/
19737  0, /*tp_itemsize*/
19738  __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteraction, /*tp_dealloc*/
19739  0, /*tp_print*/
19740  0, /*tp_getattr*/
19741  0, /*tp_setattr*/
19742  #if PY_MAJOR_VERSION < 3
19743  0, /*tp_compare*/
19744  #else
19745  0, /*reserved*/
19746  #endif
19747  0, /*tp_repr*/
19748  0, /*tp_as_number*/
19749  0, /*tp_as_sequence*/
19750  0, /*tp_as_mapping*/
19751  0, /*tp_hash*/
19752  0, /*tp_call*/
19753  0, /*tp_str*/
19754  0, /*tp_getattro*/
19755  0, /*tp_setattro*/
19756  0, /*tp_as_buffer*/
19757  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
19758  0, /*tp_doc*/
19759  __pyx_tp_traverse_10espressomd_12interactions_NonBondedInteraction, /*tp_traverse*/
19760  __pyx_tp_clear_10espressomd_12interactions_NonBondedInteraction, /*tp_clear*/
19761  0, /*tp_richcompare*/
19762  0, /*tp_weaklistoffset*/
19763  0, /*tp_iter*/
19764  0, /*tp_iternext*/
19765  __pyx_methods_10espressomd_12interactions_GenericLennardJonesInteraction, /*tp_methods*/
19766  0, /*tp_members*/
19767  0, /*tp_getset*/
19768  0, /*tp_base*/
19769  0, /*tp_dict*/
19770  0, /*tp_descr_get*/
19771  0, /*tp_descr_set*/
19772  0, /*tp_dictoffset*/
19773  #if CYTHON_COMPILING_IN_PYPY
19774  __pyx_pw_10espressomd_12interactions_20NonBondedInteraction_1__init__, /*tp_init*/
19775  #else
19776  0, /*tp_init*/
19777  #endif
19778  0, /*tp_alloc*/
19779  __pyx_tp_new_10espressomd_12interactions_GenericLennardJonesInteraction, /*tp_new*/
19780  0, /*tp_free*/
19781  0, /*tp_is_gc*/
19782  0, /*tp_bases*/
19783  0, /*tp_mro*/
19784  0, /*tp_cache*/
19785  0, /*tp_subclasses*/
19786  0, /*tp_weaklist*/
19787  0, /*tp_del*/
19788  0, /*tp_version_tag*/
19789  #if PY_VERSION_HEX >= 0x030400a1
19790  0, /*tp_finalize*/
19791  #endif
19792 };
19793 
19794 static PyObject *__pyx_tp_new_10espressomd_12interactions_NonBondedInteractions(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
19795  PyObject *o;
19796  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
19797  o = (*t->tp_alloc)(t, 0);
19798  } else {
19799  o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
19800  }
19801  if (unlikely(!o)) return 0;
19802  return o;
19803 }
19804 
19805 static void __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteractions(PyObject *o) {
19806  #if PY_VERSION_HEX >= 0x030400a1
19807  if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
19808  if (PyObject_CallFinalizerFromDealloc(o)) return;
19809  }
19810  #endif
19811  (*Py_TYPE(o)->tp_free)(o);
19812 }
19813 static PyObject *__pyx_sq_item_10espressomd_12interactions_NonBondedInteractions(PyObject *o, Py_ssize_t i) {
19814  PyObject *r;
19815  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
19816  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
19817  Py_DECREF(x);
19818  return r;
19819 }
19820 
19821 static PyMethodDef __pyx_methods_10espressomd_12interactions_NonBondedInteractions[] = {
19822  {"setForceCap", (PyCFunction)__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_3setForceCap, METH_O, 0},
19823  {"getForceCap", (PyCFunction)__pyx_pw_10espressomd_12interactions_21NonBondedInteractions_5getForceCap, METH_NOARGS, 0},
19824  {0, 0, 0, 0}
19825 };
19826 
19827 static PySequenceMethods __pyx_tp_as_sequence_NonBondedInteractions = {
19828  0, /*sq_length*/
19829  0, /*sq_concat*/
19830  0, /*sq_repeat*/
19831  __pyx_sq_item_10espressomd_12interactions_NonBondedInteractions, /*sq_item*/
19832  0, /*sq_slice*/
19833  0, /*sq_ass_item*/
19834  0, /*sq_ass_slice*/
19835  0, /*sq_contains*/
19836  0, /*sq_inplace_concat*/
19837  0, /*sq_inplace_repeat*/
19838 };
19839 
19840 static PyMappingMethods __pyx_tp_as_mapping_NonBondedInteractions = {
19841  0, /*mp_length*/
19842  __pyx_pw_10espressomd_12interactions_21NonBondedInteractions_1__getitem__, /*mp_subscript*/
19843  0, /*mp_ass_subscript*/
19844 };
19845 
19846 static PyTypeObject __pyx_type_10espressomd_12interactions_NonBondedInteractions = {
19847  PyVarObject_HEAD_INIT(0, 0)
19848  "espressomd.interactions.NonBondedInteractions", /*tp_name*/
19849  sizeof(struct __pyx_obj_10espressomd_12interactions_NonBondedInteractions), /*tp_basicsize*/
19850  0, /*tp_itemsize*/
19851  __pyx_tp_dealloc_10espressomd_12interactions_NonBondedInteractions, /*tp_dealloc*/
19852  0, /*tp_print*/
19853  0, /*tp_getattr*/
19854  0, /*tp_setattr*/
19855  #if PY_MAJOR_VERSION < 3
19856  0, /*tp_compare*/
19857  #else
19858  0, /*reserved*/
19859  #endif
19860  0, /*tp_repr*/
19861  0, /*tp_as_number*/
19862  &__pyx_tp_as_sequence_NonBondedInteractions, /*tp_as_sequence*/
19863  &__pyx_tp_as_mapping_NonBondedInteractions, /*tp_as_mapping*/
19864  0, /*tp_hash*/
19865  0, /*tp_call*/
19866  0, /*tp_str*/
19867  0, /*tp_getattro*/
19868  0, /*tp_setattro*/
19869  0, /*tp_as_buffer*/
19870  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
19871  "Access to non-bonded interaction parameters via [i,j], where i,j are particle \n types. Returns NonBondedInteractionHandle.\n Also: access to force capping\n ", /*tp_doc*/
19872  0, /*tp_traverse*/
19873  0, /*tp_clear*/
19874  0, /*tp_richcompare*/
19875  0, /*tp_weaklistoffset*/
19876  0, /*tp_iter*/
19877  0, /*tp_iternext*/
19878  __pyx_methods_10espressomd_12interactions_NonBondedInteractions, /*tp_methods*/
19879  0, /*tp_members*/
19880  0, /*tp_getset*/
19881  0, /*tp_base*/
19882  0, /*tp_dict*/
19883  0, /*tp_descr_get*/
19884  0, /*tp_descr_set*/
19885  0, /*tp_dictoffset*/
19886  0, /*tp_init*/
19887  0, /*tp_alloc*/
19888  __pyx_tp_new_10espressomd_12interactions_NonBondedInteractions, /*tp_new*/
19889  0, /*tp_free*/
19890  0, /*tp_is_gc*/
19891  0, /*tp_bases*/
19892  0, /*tp_mro*/
19893  0, /*tp_cache*/
19894  0, /*tp_subclasses*/
19895  0, /*tp_weaklist*/
19896  0, /*tp_del*/
19897  0, /*tp_version_tag*/
19898  #if PY_VERSION_HEX >= 0x030400a1
19899  0, /*tp_finalize*/
19900  #endif
19901 };
19902 
19903 static PyObject *__pyx_tp_new_10espressomd_12interactions_BondedInteraction(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
19904  PyObject *o;
19905  if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
19906  o = (*t->tp_alloc)(t, 0);
19907  } else {
19908  o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
19909  }
19910  if (unlikely(!o)) return 0;
19911  return o;
19912 }
19913 
19914 static void __pyx_tp_dealloc_10espressomd_12interactions_BondedInteraction(PyObject *o) {
19915  #if PY_VERSION_HEX >= 0x030400a1
19916  if (unlikely(Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
19917  if (PyObject_CallFinalizerFromDealloc(o)) return;
19918  }
19919  #endif
19920  (*Py_TYPE(o)->tp_free)(o);
19921 }
19922 
19923 static PyObject *__pyx_getprop_10espressomd_12interactions_17BondedInteraction_params(PyObject *o, CYTHON_UNUSED void *x) {
19924  return __pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_1__get__(o);
19925 }
19926 
19927 static int __pyx_setprop_10espressomd_12interactions_17BondedInteraction_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
19928  if (v) {
19929  return __pyx_pw_10espressomd_12interactions_17BondedInteraction_6params_3__set__(o, v);
19930  }
19931  else {
19932  PyErr_SetString(PyExc_NotImplementedError, "__del__");
19933  return -1;
19934  }
19935 }
19936 
19937 static PyMethodDef __pyx_methods_10espressomd_12interactions_BondedInteraction[] = {
19938  {"isValid", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_3isValid, METH_NOARGS, __pyx_doc_10espressomd_12interactions_17BondedInteraction_2isValid},
19939  {"validateParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_5validateParams, METH_NOARGS, 0},
19940  {"_getParamsFromEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_7_getParamsFromEsCore, METH_NOARGS, 0},
19941  {"_setParamsInEsCore", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_9_setParamsInEsCore, METH_NOARGS, 0},
19942  {"setDefaultParams", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_11setDefaultParams, METH_NOARGS, 0},
19943  {"typeNumber", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_13typeNumber, METH_NOARGS, 0},
19944  {"typeName", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_15typeName, METH_NOARGS, 0},
19945  {"validKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_17validKeys, METH_NOARGS, 0},
19946  {"requiredKeys", (PyCFunction)__pyx_pw_10espressomd_12interactions_17BondedInteraction_19requiredKeys, METH_NOARGS, 0},
19947  {0, 0, 0, 0}
19948 };
19949 
19950 static struct PyGetSetDef __pyx_getsets_10espressomd_12interactions_BondedInteraction[] = {
19951  {(char *)"params", __pyx_getprop_10espressomd_12interactions_17BondedInteraction_params, __pyx_setprop_10espressomd_12interactions_17BondedInteraction_params, 0, 0},
19952  {0, 0, 0, 0, 0}
19953 };
19954 
19955 static PyTypeObject __pyx_type_10espressomd_12interactions_BondedInteraction = {
19956  PyVarObject_HEAD_INIT(0, 0)
19957  "espressomd.interactions.BondedInteraction", /*tp_name*/
19958  sizeof(struct __pyx_obj_10espressomd_12interactions_BondedInteraction), /*tp_basicsize*/
19959  0, /*tp_itemsize*/
19960  __pyx_tp_dealloc_10espressomd_12interactions_BondedInteraction, /*tp_dealloc*/
19961  0, /*tp_print*/
19962  0, /*tp_getattr*/
19963  0, /*tp_setattr*/
19964  #if PY_MAJOR_VERSION < 3
19965  0, /*tp_compare*/
19966  #else
19967  0, /*reserved*/
19968  #endif
19969  0, /*tp_repr*/
19970  0, /*tp_as_number*/
19971  0, /*tp_as_sequence*/
19972  0, /*tp_as_mapping*/
19973  0, /*tp_hash*/
19974  0, /*tp_call*/
19975  0, /*tp_str*/
19976  0, /*tp_getattro*/
19977  0, /*tp_setattro*/
19978  0, /*tp_as_buffer*/
19979  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
19980  0, /*tp_doc*/
19981  0, /*tp_traverse*/
19982  0, /*tp_clear*/
19983  0, /*tp_richcompare*/
19984  0, /*tp_weaklistoffset*/
19985  0, /*tp_iter*/
19986  0, /*tp_iternext*/
19987  __pyx_methods_10espressomd_12interactions_BondedInteraction, /*tp_methods*/
19988  0, /*tp_members*/
19989  __pyx_getsets_10espressomd_12interactions_BondedInteraction, /*tp_getset*/
19990  0, /*tp_base*/
19991  0, /*tp_dict*/
19992  0, /*tp_descr_get*/
19993  0, /*tp_descr_set*/
19994  0, /*tp_dictoffset*/
19995  __pyx_pw_10espressomd_12interactions_17BondedInteraction_1__init__, /*tp_init*/
19996  0, /*tp_alloc*/
19997  __pyx_tp_new_10espressomd_12interactions_BondedInteraction, /*tp_new*/
19998  0, /*tp_free*/
19999  0, /*tp_is_gc*/
20000  0, /*tp_bases*/
20001  0, /*tp_mro*/
20002  0, /*tp_cache*/
20003  0, /*tp_subclasses*/
20004  0, /*tp_weaklist*/
20005  0, /*tp_del*/
20006  0, /*tp_version_tag*/
20007  #if PY_VERSION_HEX >= 0x030400a1
20008  0, /*tp_finalize*/
20009  #endif
20010 };
20011 
20012 static PyMethodDef __pyx_methods[] = {
20013  {0, 0, 0, 0}
20014 };
20015 
20016 #if PY_MAJOR_VERSION >= 3
20017 static struct PyModuleDef __pyx_moduledef = {
20018  #if PY_VERSION_HEX < 0x03020000
20019  { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
20020  #else
20021  PyModuleDef_HEAD_INIT,
20022  #endif
20023  "interactions",
20024  0, /* m_doc */
20025  -1, /* m_size */
20026  __pyx_methods /* m_methods */,
20027  NULL, /* m_reload */
20028  NULL, /* m_traverse */
20029  NULL, /* m_clear */
20030  NULL /* m_free */
20031 };
20032 #endif
20033 
20034 static __Pyx_StringTabEntry __pyx_string_tab[] = {
20035  {&__pyx_n_s_A0_g, __pyx_k_A0_g, sizeof(__pyx_k_A0_g), 0, 0, 1, 1},
20036  {&__pyx_n_s_A0_l, __pyx_k_A0_l, sizeof(__pyx_k_A0_l), 0, 0, 1, 1},
20037  {&__pyx_n_s_ANGLE_COSINE, __pyx_k_ANGLE_COSINE, sizeof(__pyx_k_ANGLE_COSINE), 0, 0, 1, 1},
20038  {&__pyx_n_s_ANGLE_COSSQUARE, __pyx_k_ANGLE_COSSQUARE, sizeof(__pyx_k_ANGLE_COSSQUARE), 0, 0, 1, 1},
20039  {&__pyx_n_s_ANGLE_HARMONIC, __pyx_k_ANGLE_HARMONIC, sizeof(__pyx_k_ANGLE_HARMONIC), 0, 0, 1, 1},
20040  {&__pyx_n_s_AREA_FORCE_GLOBAL, __pyx_k_AREA_FORCE_GLOBAL, sizeof(__pyx_k_AREA_FORCE_GLOBAL), 0, 0, 1, 1},
20041  {&__pyx_n_s_AREA_FORCE_LOCAL, __pyx_k_AREA_FORCE_LOCAL, sizeof(__pyx_k_AREA_FORCE_LOCAL), 0, 0, 1, 1},
20042  {&__pyx_n_s_Angle_Cosine, __pyx_k_Angle_Cosine, sizeof(__pyx_k_Angle_Cosine), 0, 0, 1, 1},
20043  {&__pyx_n_s_Angle_Cosine_typeNumber, __pyx_k_Angle_Cosine_typeNumber, sizeof(__pyx_k_Angle_Cosine_typeNumber), 0, 0, 1, 1},
20044  {&__pyx_n_s_Angle_Cossquare, __pyx_k_Angle_Cossquare, sizeof(__pyx_k_Angle_Cossquare), 0, 0, 1, 1},
20045  {&__pyx_n_s_Angle_Cossquare_typeNumber, __pyx_k_Angle_Cossquare_typeNumber, sizeof(__pyx_k_Angle_Cossquare_typeNumber), 0, 0, 1, 1},
20046  {&__pyx_n_s_Angle_Harmonic, __pyx_k_Angle_Harmonic, sizeof(__pyx_k_Angle_Harmonic), 0, 0, 1, 1},
20047  {&__pyx_n_s_Angle_Harmonic_typeNumber, __pyx_k_Angle_Harmonic_typeNumber, sizeof(__pyx_k_Angle_Harmonic_typeNumber), 0, 0, 1, 1},
20048  {&__pyx_n_s_Area_Force_Global, __pyx_k_Area_Force_Global, sizeof(__pyx_k_Area_Force_Global), 0, 0, 1, 1},
20049  {&__pyx_n_s_Area_Force_Global__getParamsFrom, __pyx_k_Area_Force_Global__getParamsFrom, sizeof(__pyx_k_Area_Force_Global__getParamsFrom), 0, 0, 1, 1},
20050  {&__pyx_n_s_Area_Force_Global__setParamsInEs, __pyx_k_Area_Force_Global__setParamsInEs, sizeof(__pyx_k_Area_Force_Global__setParamsInEs), 0, 0, 1, 1},
20051  {&__pyx_n_s_Area_Force_Global_requiredKeys, __pyx_k_Area_Force_Global_requiredKeys, sizeof(__pyx_k_Area_Force_Global_requiredKeys), 0, 0, 1, 1},
20052  {&__pyx_n_s_Area_Force_Global_setDefaultPara, __pyx_k_Area_Force_Global_setDefaultPara, sizeof(__pyx_k_Area_Force_Global_setDefaultPara), 0, 0, 1, 1},
20053  {&__pyx_n_s_Area_Force_Global_typeName, __pyx_k_Area_Force_Global_typeName, sizeof(__pyx_k_Area_Force_Global_typeName), 0, 0, 1, 1},
20054  {&__pyx_n_s_Area_Force_Global_typeNumber, __pyx_k_Area_Force_Global_typeNumber, sizeof(__pyx_k_Area_Force_Global_typeNumber), 0, 0, 1, 1},
20055  {&__pyx_n_s_Area_Force_Global_validKeys, __pyx_k_Area_Force_Global_validKeys, sizeof(__pyx_k_Area_Force_Global_validKeys), 0, 0, 1, 1},
20056  {&__pyx_n_s_Area_Force_Local, __pyx_k_Area_Force_Local, sizeof(__pyx_k_Area_Force_Local), 0, 0, 1, 1},
20057  {&__pyx_n_s_Area_Force_Local__getParamsFromE, __pyx_k_Area_Force_Local__getParamsFromE, sizeof(__pyx_k_Area_Force_Local__getParamsFromE), 0, 0, 1, 1},
20058  {&__pyx_n_s_Area_Force_Local__setParamsInEsC, __pyx_k_Area_Force_Local__setParamsInEsC, sizeof(__pyx_k_Area_Force_Local__setParamsInEsC), 0, 0, 1, 1},
20059  {&__pyx_n_s_Area_Force_Local_requiredKeys, __pyx_k_Area_Force_Local_requiredKeys, sizeof(__pyx_k_Area_Force_Local_requiredKeys), 0, 0, 1, 1},
20060  {&__pyx_n_s_Area_Force_Local_setDefaultParam, __pyx_k_Area_Force_Local_setDefaultParam, sizeof(__pyx_k_Area_Force_Local_setDefaultParam), 0, 0, 1, 1},
20061  {&__pyx_n_s_Area_Force_Local_typeName, __pyx_k_Area_Force_Local_typeName, sizeof(__pyx_k_Area_Force_Local_typeName), 0, 0, 1, 1},
20062  {&__pyx_n_s_Area_Force_Local_typeNumber, __pyx_k_Area_Force_Local_typeNumber, sizeof(__pyx_k_Area_Force_Local_typeNumber), 0, 0, 1, 1},
20063  {&__pyx_n_s_Area_Force_Local_validKeys, __pyx_k_Area_Force_Local_validKeys, sizeof(__pyx_k_Area_Force_Local_validKeys), 0, 0, 1, 1},
20064  {&__pyx_kp_s_At_least_the_following_keys_have, __pyx_k_At_least_the_following_keys_have, sizeof(__pyx_k_At_least_the_following_keys_have), 0, 0, 1, 0},
20065  {&__pyx_n_s_BENDING_FORCE, __pyx_k_BENDING_FORCE, sizeof(__pyx_k_BENDING_FORCE), 0, 0, 1, 1},
20066  {&__pyx_n_s_BOND_ENDANGLEDIST, __pyx_k_BOND_ENDANGLEDIST, sizeof(__pyx_k_BOND_ENDANGLEDIST), 0, 0, 1, 1},
20067  {&__pyx_n_s_Bending_Force, __pyx_k_Bending_Force, sizeof(__pyx_k_Bending_Force), 0, 0, 1, 1},
20068  {&__pyx_n_s_Bending_Force__getParamsFromEsCo, __pyx_k_Bending_Force__getParamsFromEsCo, sizeof(__pyx_k_Bending_Force__getParamsFromEsCo), 0, 0, 1, 1},
20069  {&__pyx_n_s_Bending_Force__setParamsInEsCore, __pyx_k_Bending_Force__setParamsInEsCore, sizeof(__pyx_k_Bending_Force__setParamsInEsCore), 0, 0, 1, 1},
20070  {&__pyx_n_s_Bending_Force_requiredKeys, __pyx_k_Bending_Force_requiredKeys, sizeof(__pyx_k_Bending_Force_requiredKeys), 0, 0, 1, 1},
20071  {&__pyx_n_s_Bending_Force_setDefaultParams, __pyx_k_Bending_Force_setDefaultParams, sizeof(__pyx_k_Bending_Force_setDefaultParams), 0, 0, 1, 1},
20072  {&__pyx_n_s_Bending_Force_typeName, __pyx_k_Bending_Force_typeName, sizeof(__pyx_k_Bending_Force_typeName), 0, 0, 1, 1},
20073  {&__pyx_n_s_Bending_Force_typeNumber, __pyx_k_Bending_Force_typeNumber, sizeof(__pyx_k_Bending_Force_typeNumber), 0, 0, 1, 1},
20074  {&__pyx_n_s_Bending_Force_validKeys, __pyx_k_Bending_Force_validKeys, sizeof(__pyx_k_Bending_Force_validKeys), 0, 0, 1, 1},
20075  {&__pyx_n_s_BondedInteractionNotDefined, __pyx_k_BondedInteractionNotDefined, sizeof(__pyx_k_BondedInteractionNotDefined), 0, 0, 1, 1},
20076  {&__pyx_n_s_BondedInteractionNotDefined___in, __pyx_k_BondedInteractionNotDefined___in, sizeof(__pyx_k_BondedInteractionNotDefined___in), 0, 0, 1, 1},
20077  {&__pyx_n_s_BondedInteractionNotDefined__get, __pyx_k_BondedInteractionNotDefined__get, sizeof(__pyx_k_BondedInteractionNotDefined__get), 0, 0, 1, 1},
20078  {&__pyx_n_s_BondedInteractionNotDefined__set, __pyx_k_BondedInteractionNotDefined__set, sizeof(__pyx_k_BondedInteractionNotDefined__set), 0, 0, 1, 1},
20079  {&__pyx_n_s_BondedInteractionNotDefined_requ, __pyx_k_BondedInteractionNotDefined_requ, sizeof(__pyx_k_BondedInteractionNotDefined_requ), 0, 0, 1, 1},
20080  {&__pyx_n_s_BondedInteractionNotDefined_setD, __pyx_k_BondedInteractionNotDefined_setD, sizeof(__pyx_k_BondedInteractionNotDefined_setD), 0, 0, 1, 1},
20081  {&__pyx_n_s_BondedInteractionNotDefined_type, __pyx_k_BondedInteractionNotDefined_type, sizeof(__pyx_k_BondedInteractionNotDefined_type), 0, 0, 1, 1},
20082  {&__pyx_n_s_BondedInteractionNotDefined_type_2, __pyx_k_BondedInteractionNotDefined_type_2, sizeof(__pyx_k_BondedInteractionNotDefined_type_2), 0, 0, 1, 1},
20083  {&__pyx_n_s_BondedInteractionNotDefined_vali, __pyx_k_BondedInteractionNotDefined_vali, sizeof(__pyx_k_BondedInteractionNotDefined_vali), 0, 0, 1, 1},
20084  {&__pyx_n_s_BondedInteractions, __pyx_k_BondedInteractions, sizeof(__pyx_k_BondedInteractions), 0, 0, 1, 1},
20085  {&__pyx_n_s_BondedInteractions___getitem, __pyx_k_BondedInteractions___getitem, sizeof(__pyx_k_BondedInteractions___getitem), 0, 0, 1, 1},
20086  {&__pyx_n_s_BondedInteractions___setitem, __pyx_k_BondedInteractions___setitem, sizeof(__pyx_k_BondedInteractions___setitem), 0, 0, 1, 1},
20087  {&__pyx_kp_s_Could_not_set_Generic_Lennard_Jo, __pyx_k_Could_not_set_Generic_Lennard_Jo, sizeof(__pyx_k_Could_not_set_Generic_Lennard_Jo), 0, 0, 1, 0},
20088  {&__pyx_kp_s_Could_not_set_Lennard_Jones_para, __pyx_k_Could_not_set_Lennard_Jones_para, sizeof(__pyx_k_Could_not_set_Lennard_Jones_para), 0, 0, 1, 0},
20089  {&__pyx_kp_s_Could_not_set_forcecap, __pyx_k_Could_not_set_forcecap, sizeof(__pyx_k_Could_not_set_forcecap), 0, 0, 1, 0},
20090  {&__pyx_n_s_DIHEDRAL, __pyx_k_DIHEDRAL, sizeof(__pyx_k_DIHEDRAL), 0, 0, 1, 1},
20091  {&__pyx_n_s_Dihedral, __pyx_k_Dihedral, sizeof(__pyx_k_Dihedral), 0, 0, 1, 1},
20092  {&__pyx_n_s_Dihedral__getParamsFromEsCore, __pyx_k_Dihedral__getParamsFromEsCore, sizeof(__pyx_k_Dihedral__getParamsFromEsCore), 0, 0, 1, 1},
20093  {&__pyx_n_s_Dihedral__setParamsInEsCore, __pyx_k_Dihedral__setParamsInEsCore, sizeof(__pyx_k_Dihedral__setParamsInEsCore), 0, 0, 1, 1},
20094  {&__pyx_n_s_Dihedral_requiredKeys, __pyx_k_Dihedral_requiredKeys, sizeof(__pyx_k_Dihedral_requiredKeys), 0, 0, 1, 1},
20095  {&__pyx_n_s_Dihedral_setDefaultParams, __pyx_k_Dihedral_setDefaultParams, sizeof(__pyx_k_Dihedral_setDefaultParams), 0, 0, 1, 1},
20096  {&__pyx_n_s_Dihedral_typeName, __pyx_k_Dihedral_typeName, sizeof(__pyx_k_Dihedral_typeName), 0, 0, 1, 1},
20097  {&__pyx_n_s_Dihedral_typeNumber, __pyx_k_Dihedral_typeNumber, sizeof(__pyx_k_Dihedral_typeNumber), 0, 0, 1, 1},
20098  {&__pyx_n_s_Dihedral_validKeys, __pyx_k_Dihedral_validKeys, sizeof(__pyx_k_Dihedral_validKeys), 0, 0, 1, 1},
20099  {&__pyx_n_s_Endangledist, __pyx_k_Endangledist, sizeof(__pyx_k_Endangledist), 0, 0, 1, 1},
20100  {&__pyx_n_s_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 0, 0, 1, 1},
20101  {&__pyx_n_s_FENE, __pyx_k_FENE, sizeof(__pyx_k_FENE), 0, 0, 1, 1},
20102  {&__pyx_n_s_FeneBond, __pyx_k_FeneBond, sizeof(__pyx_k_FeneBond), 0, 0, 1, 1},
20103  {&__pyx_n_s_FeneBond__getParamsFromEsCore, __pyx_k_FeneBond__getParamsFromEsCore, sizeof(__pyx_k_FeneBond__getParamsFromEsCore), 0, 0, 1, 1},
20104  {&__pyx_n_s_FeneBond__setParamsInEsCore, __pyx_k_FeneBond__setParamsInEsCore, sizeof(__pyx_k_FeneBond__setParamsInEsCore), 0, 0, 1, 1},
20105  {&__pyx_n_s_FeneBond_requiredKeys, __pyx_k_FeneBond_requiredKeys, sizeof(__pyx_k_FeneBond_requiredKeys), 0, 0, 1, 1},
20106  {&__pyx_n_s_FeneBond_setDefaultParams, __pyx_k_FeneBond_setDefaultParams, sizeof(__pyx_k_FeneBond_setDefaultParams), 0, 0, 1, 1},
20107  {&__pyx_n_s_FeneBond_typeName, __pyx_k_FeneBond_typeName, sizeof(__pyx_k_FeneBond_typeName), 0, 0, 1, 1},
20108  {&__pyx_n_s_FeneBond_typeNumber, __pyx_k_FeneBond_typeNumber, sizeof(__pyx_k_FeneBond_typeNumber), 0, 0, 1, 1},
20109  {&__pyx_n_s_FeneBond_validKeys, __pyx_k_FeneBond_validKeys, sizeof(__pyx_k_FeneBond_validKeys), 0, 0, 1, 1},
20110  {&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},
20111  {&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},
20112  {&__pyx_n_s_GenericLennardJones, __pyx_k_GenericLennardJones, sizeof(__pyx_k_GenericLennardJones), 0, 0, 1, 1},
20113  {&__pyx_kp_s_Generic_Lennard_Jones_cutoff_has, __pyx_k_Generic_Lennard_Jones_cutoff_has, sizeof(__pyx_k_Generic_Lennard_Jones_cutoff_has), 0, 0, 1, 0},
20114  {&__pyx_kp_s_Generic_Lennard_Jones_eps_has_to, __pyx_k_Generic_Lennard_Jones_eps_has_to, sizeof(__pyx_k_Generic_Lennard_Jones_eps_has_to), 0, 0, 1, 0},
20115  {&__pyx_kp_s_Generic_Lennard_Jones_sigma_has, __pyx_k_Generic_Lennard_Jones_sigma_has, sizeof(__pyx_k_Generic_Lennard_Jones_sigma_has), 0, 0, 1, 0},
20116  {&__pyx_n_s_HARMONIC, __pyx_k_HARMONIC, sizeof(__pyx_k_HARMONIC), 0, 0, 1, 1},
20117  {&__pyx_n_s_HARMONIC_DUMBBELL, __pyx_k_HARMONIC_DUMBBELL, sizeof(__pyx_k_HARMONIC_DUMBBELL), 0, 0, 1, 1},
20118  {&__pyx_n_s_HarmonicBond, __pyx_k_HarmonicBond, sizeof(__pyx_k_HarmonicBond), 0, 0, 1, 1},
20119  {&__pyx_n_s_HarmonicBond__getParamsFromEsCor, __pyx_k_HarmonicBond__getParamsFromEsCor, sizeof(__pyx_k_HarmonicBond__getParamsFromEsCor), 0, 0, 1, 1},
20120  {&__pyx_n_s_HarmonicBond__setParamsInEsCore, __pyx_k_HarmonicBond__setParamsInEsCore, sizeof(__pyx_k_HarmonicBond__setParamsInEsCore), 0, 0, 1, 1},
20121  {&__pyx_n_s_HarmonicBond_requiredKeys, __pyx_k_HarmonicBond_requiredKeys, sizeof(__pyx_k_HarmonicBond_requiredKeys), 0, 0, 1, 1},
20122  {&__pyx_n_s_HarmonicBond_setDefaultParams, __pyx_k_HarmonicBond_setDefaultParams, sizeof(__pyx_k_HarmonicBond_setDefaultParams), 0, 0, 1, 1},
20123  {&__pyx_n_s_HarmonicBond_typeName, __pyx_k_HarmonicBond_typeName, sizeof(__pyx_k_HarmonicBond_typeName), 0, 0, 1, 1},
20124  {&__pyx_n_s_HarmonicBond_typeNumber, __pyx_k_HarmonicBond_typeNumber, sizeof(__pyx_k_HarmonicBond_typeNumber), 0, 0, 1, 1},
20125  {&__pyx_n_s_HarmonicBond_validKeys, __pyx_k_HarmonicBond_validKeys, sizeof(__pyx_k_HarmonicBond_validKeys), 0, 0, 1, 1},
20126  {&__pyx_n_s_HarmonicDumbbellBond, __pyx_k_HarmonicDumbbellBond, sizeof(__pyx_k_HarmonicDumbbellBond), 0, 0, 1, 1},
20127  {&__pyx_n_s_HarmonicDumbbellBond__getParamsF, __pyx_k_HarmonicDumbbellBond__getParamsF, sizeof(__pyx_k_HarmonicDumbbellBond__getParamsF), 0, 0, 1, 1},
20128  {&__pyx_n_s_HarmonicDumbbellBond__setParamsI, __pyx_k_HarmonicDumbbellBond__setParamsI, sizeof(__pyx_k_HarmonicDumbbellBond__setParamsI), 0, 0, 1, 1},
20129  {&__pyx_n_s_HarmonicDumbbellBond_requiredKey, __pyx_k_HarmonicDumbbellBond_requiredKey, sizeof(__pyx_k_HarmonicDumbbellBond_requiredKey), 0, 0, 1, 1},
20130  {&__pyx_n_s_HarmonicDumbbellBond_setDefaultP, __pyx_k_HarmonicDumbbellBond_setDefaultP, sizeof(__pyx_k_HarmonicDumbbellBond_setDefaultP), 0, 0, 1, 1},
20131  {&__pyx_n_s_HarmonicDumbbellBond_typeName, __pyx_k_HarmonicDumbbellBond_typeName, sizeof(__pyx_k_HarmonicDumbbellBond_typeName), 0, 0, 1, 1},
20132  {&__pyx_n_s_HarmonicDumbbellBond_typeNumber, __pyx_k_HarmonicDumbbellBond_typeNumber, sizeof(__pyx_k_HarmonicDumbbellBond_typeNumber), 0, 0, 1, 1},
20133  {&__pyx_n_s_HarmonicDumbbellBond_validKeys, __pyx_k_HarmonicDumbbellBond_validKeys, sizeof(__pyx_k_HarmonicDumbbellBond_validKeys), 0, 0, 1, 1},
20134  {&__pyx_kp_s_Index_to_BondedInteractions_has, __pyx_k_Index_to_BondedInteractions_has, sizeof(__pyx_k_Index_to_BondedInteractions_has), 0, 0, 1, 0},
20135  {&__pyx_kp_s_Index_to_BondedInteractions_hast, __pyx_k_Index_to_BondedInteractions_hast, sizeof(__pyx_k_Index_to_BondedInteractions_hast), 0, 0, 1, 0},
20136  {&__pyx_n_s_LennardJones, __pyx_k_LennardJones, sizeof(__pyx_k_LennardJones), 0, 0, 1, 1},
20137  {&__pyx_kp_s_Lennard_Jones_cutoff_has_to_be_0, __pyx_k_Lennard_Jones_cutoff_has_to_be_0, sizeof(__pyx_k_Lennard_Jones_cutoff_has_to_be_0), 0, 0, 1, 0},
20138  {&__pyx_kp_s_Lennard_Jones_eps_has_to_be_0, __pyx_k_Lennard_Jones_eps_has_to_be_0, sizeof(__pyx_k_Lennard_Jones_eps_has_to_be_0), 0, 0, 1, 0},
20139  {&__pyx_kp_s_Lennard_Jones_sigma_has_to_be_0, __pyx_k_Lennard_Jones_sigma_has_to_be_0, sizeof(__pyx_k_Lennard_Jones_sigma_has_to_be_0), 0, 0, 1, 0},
20140  {&__pyx_n_s_NonBondedInteractionHandle, __pyx_k_NonBondedInteractionHandle, sizeof(__pyx_k_NonBondedInteractionHandle), 0, 0, 1, 1},
20141  {&__pyx_n_s_NonBondedInteractionHandle___ini, __pyx_k_NonBondedInteractionHandle___ini, sizeof(__pyx_k_NonBondedInteractionHandle___ini), 0, 0, 1, 1},
20142  {&__pyx_kp_s_NonBondedInteractions_expects_tw, __pyx_k_NonBondedInteractions_expects_tw, sizeof(__pyx_k_NonBondedInteractions_expects_tw), 0, 0, 1, 0},
20143  {&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},
20144  {&__pyx_n_s_OVERLAPPED, __pyx_k_OVERLAPPED, sizeof(__pyx_k_OVERLAPPED), 0, 0, 1, 1},
20145  {&__pyx_kp_s_Only_subclasses_of_BondedInterac, __pyx_k_Only_subclasses_of_BondedInterac, sizeof(__pyx_k_Only_subclasses_of_BondedInterac), 0, 0, 1, 0},
20146  {&__pyx_kp_s_Only_the_following_keys_are_supp, __pyx_k_Only_the_following_keys_are_supp, sizeof(__pyx_k_Only_the_following_keys_are_supp), 0, 0, 1, 0},
20147  {&__pyx_n_s_Overlapped, __pyx_k_Overlapped, sizeof(__pyx_k_Overlapped), 0, 0, 1, 1},
20148  {&__pyx_n_s_Overlapped__getParamsFromEsCore, __pyx_k_Overlapped__getParamsFromEsCore, sizeof(__pyx_k_Overlapped__getParamsFromEsCore), 0, 0, 1, 1},
20149  {&__pyx_n_s_Overlapped__setParamsInEsCore, __pyx_k_Overlapped__setParamsInEsCore, sizeof(__pyx_k_Overlapped__setParamsInEsCore), 0, 0, 1, 1},
20150  {&__pyx_n_s_Overlapped_requiredKeys, __pyx_k_Overlapped_requiredKeys, sizeof(__pyx_k_Overlapped_requiredKeys), 0, 0, 1, 1},
20151  {&__pyx_n_s_Overlapped_setDefaultParams, __pyx_k_Overlapped_setDefaultParams, sizeof(__pyx_k_Overlapped_setDefaultParams), 0, 0, 1, 1},
20152  {&__pyx_n_s_Overlapped_typeName, __pyx_k_Overlapped_typeName, sizeof(__pyx_k_Overlapped_typeName), 0, 0, 1, 1},
20153  {&__pyx_n_s_Overlapped_typeNumber, __pyx_k_Overlapped_typeNumber, sizeof(__pyx_k_Overlapped_typeNumber), 0, 0, 1, 1},
20154  {&__pyx_n_s_Overlapped_validKeys, __pyx_k_Overlapped_validKeys, sizeof(__pyx_k_Overlapped_validKeys), 0, 0, 1, 1},
20155  {&__pyx_kp_s_Provides_access_to_all_Non_bonde, __pyx_k_Provides_access_to_all_Non_bonde, sizeof(__pyx_k_Provides_access_to_all_Non_bonde), 0, 0, 1, 0},
20156  {&__pyx_n_s_RIGID, __pyx_k_RIGID, sizeof(__pyx_k_RIGID), 0, 0, 1, 1},
20157  {&__pyx_kp_s_Represents_the_bonded_interactio, __pyx_k_Represents_the_bonded_interactio, sizeof(__pyx_k_Represents_the_bonded_interactio), 0, 0, 1, 0},
20158  {&__pyx_n_s_RigidBond, __pyx_k_RigidBond, sizeof(__pyx_k_RigidBond), 0, 0, 1, 1},
20159  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
20160  {&__pyx_n_s_STRETCHING_FORCE, __pyx_k_STRETCHING_FORCE, sizeof(__pyx_k_STRETCHING_FORCE), 0, 0, 1, 1},
20161  {&__pyx_n_s_STRETCHLIN_FORCE, __pyx_k_STRETCHLIN_FORCE, sizeof(__pyx_k_STRETCHLIN_FORCE), 0, 0, 1, 1},
20162  {&__pyx_n_s_SUBT_LJ, __pyx_k_SUBT_LJ, sizeof(__pyx_k_SUBT_LJ), 0, 0, 1, 1},
20163  {&__pyx_n_s_Stretching_Force, __pyx_k_Stretching_Force, sizeof(__pyx_k_Stretching_Force), 0, 0, 1, 1},
20164  {&__pyx_n_s_Stretching_Force__getParamsFromE, __pyx_k_Stretching_Force__getParamsFromE, sizeof(__pyx_k_Stretching_Force__getParamsFromE), 0, 0, 1, 1},
20165  {&__pyx_n_s_Stretching_Force__setParamsInEsC, __pyx_k_Stretching_Force__setParamsInEsC, sizeof(__pyx_k_Stretching_Force__setParamsInEsC), 0, 0, 1, 1},
20166  {&__pyx_n_s_Stretching_Force_requiredKeys, __pyx_k_Stretching_Force_requiredKeys, sizeof(__pyx_k_Stretching_Force_requiredKeys), 0, 0, 1, 1},
20167  {&__pyx_n_s_Stretching_Force_setDefaultParam, __pyx_k_Stretching_Force_setDefaultParam, sizeof(__pyx_k_Stretching_Force_setDefaultParam), 0, 0, 1, 1},
20168  {&__pyx_n_s_Stretching_Force_typeName, __pyx_k_Stretching_Force_typeName, sizeof(__pyx_k_Stretching_Force_typeName), 0, 0, 1, 1},
20169  {&__pyx_n_s_Stretching_Force_typeNumber, __pyx_k_Stretching_Force_typeNumber, sizeof(__pyx_k_Stretching_Force_typeNumber), 0, 0, 1, 1},
20170  {&__pyx_n_s_Stretching_Force_validKeys, __pyx_k_Stretching_Force_validKeys, sizeof(__pyx_k_Stretching_Force_validKeys), 0, 0, 1, 1},
20171  {&__pyx_n_s_Stretchlin_Force, __pyx_k_Stretchlin_Force, sizeof(__pyx_k_Stretchlin_Force), 0, 0, 1, 1},
20172  {&__pyx_n_s_Stretchlin_Force__getParamsFromE, __pyx_k_Stretchlin_Force__getParamsFromE, sizeof(__pyx_k_Stretchlin_Force__getParamsFromE), 0, 0, 1, 1},
20173  {&__pyx_n_s_Stretchlin_Force__setParamsInEsC, __pyx_k_Stretchlin_Force__setParamsInEsC, sizeof(__pyx_k_Stretchlin_Force__setParamsInEsC), 0, 0, 1, 1},
20174  {&__pyx_n_s_Stretchlin_Force_requiredKeys, __pyx_k_Stretchlin_Force_requiredKeys, sizeof(__pyx_k_Stretchlin_Force_requiredKeys), 0, 0, 1, 1},
20175  {&__pyx_n_s_Stretchlin_Force_setDefaultParam, __pyx_k_Stretchlin_Force_setDefaultParam, sizeof(__pyx_k_Stretchlin_Force_setDefaultParam), 0, 0, 1, 1},
20176  {&__pyx_n_s_Stretchlin_Force_typeName, __pyx_k_Stretchlin_Force_typeName, sizeof(__pyx_k_Stretchlin_Force_typeName), 0, 0, 1, 1},
20177  {&__pyx_n_s_Stretchlin_Force_typeNumber, __pyx_k_Stretchlin_Force_typeNumber, sizeof(__pyx_k_Stretchlin_Force_typeNumber), 0, 0, 1, 1},
20178  {&__pyx_n_s_Stretchlin_Force_validKeys, __pyx_k_Stretchlin_Force_validKeys, sizeof(__pyx_k_Stretchlin_Force_validKeys), 0, 0, 1, 1},
20179  {&__pyx_kp_s_Subclasses_of_BondedInteraction, __pyx_k_Subclasses_of_BondedInteraction, sizeof(__pyx_k_Subclasses_of_BondedInteraction), 0, 0, 1, 0},
20180  {&__pyx_kp_s_Subclasses_of_BondedInteraction_2, __pyx_k_Subclasses_of_BondedInteraction_2, sizeof(__pyx_k_Subclasses_of_BondedInteraction_2), 0, 0, 1, 0},
20181  {&__pyx_kp_s_Subclasses_of_BondedInteraction_3, __pyx_k_Subclasses_of_BondedInteraction_3, sizeof(__pyx_k_Subclasses_of_BondedInteraction_3), 0, 0, 1, 0},
20182  {&__pyx_kp_s_Subclasses_of_BondedInteraction_4, __pyx_k_Subclasses_of_BondedInteraction_4, sizeof(__pyx_k_Subclasses_of_BondedInteraction_4), 0, 0, 1, 0},
20183  {&__pyx_kp_s_Subclasses_of_BondedInteraction_5, __pyx_k_Subclasses_of_BondedInteraction_5, sizeof(__pyx_k_Subclasses_of_BondedInteraction_5), 0, 0, 1, 0},
20184  {&__pyx_kp_s_Subclasses_of_BondedInteraction_6, __pyx_k_Subclasses_of_BondedInteraction_6, sizeof(__pyx_k_Subclasses_of_BondedInteraction_6), 0, 0, 1, 0},
20185  {&__pyx_kp_s_Subclasses_of_BondedInteraction_7, __pyx_k_Subclasses_of_BondedInteraction_7, sizeof(__pyx_k_Subclasses_of_BondedInteraction_7), 0, 0, 1, 0},
20186  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti, __pyx_k_Subclasses_of_NonBondedInteracti, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti), 0, 0, 1, 0},
20187  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_2, __pyx_k_Subclasses_of_NonBondedInteracti_2, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_2), 0, 0, 1, 0},
20188  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_3, __pyx_k_Subclasses_of_NonBondedInteracti_3, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_3), 0, 0, 1, 0},
20189  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_4, __pyx_k_Subclasses_of_NonBondedInteracti_4, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_4), 0, 0, 1, 0},
20190  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_5, __pyx_k_Subclasses_of_NonBondedInteracti_5, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_5), 0, 0, 1, 0},
20191  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_6, __pyx_k_Subclasses_of_NonBondedInteracti_6, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_6), 0, 0, 1, 0},
20192  {&__pyx_kp_s_Subclasses_of_NonBondedInteracti_7, __pyx_k_Subclasses_of_NonBondedInteracti_7, sizeof(__pyx_k_Subclasses_of_NonBondedInteracti_7), 0, 0, 1, 0},
20193  {&__pyx_n_s_Subt_Lj, __pyx_k_Subt_Lj, sizeof(__pyx_k_Subt_Lj), 0, 0, 1, 1},
20194  {&__pyx_n_s_Subt_Lj__getParamsFromEsCore, __pyx_k_Subt_Lj__getParamsFromEsCore, sizeof(__pyx_k_Subt_Lj__getParamsFromEsCore), 0, 0, 1, 1},
20195  {&__pyx_n_s_Subt_Lj__setParamsInEsCore, __pyx_k_Subt_Lj__setParamsInEsCore, sizeof(__pyx_k_Subt_Lj__setParamsInEsCore), 0, 0, 1, 1},
20196  {&__pyx_n_s_Subt_Lj_requiredKeys, __pyx_k_Subt_Lj_requiredKeys, sizeof(__pyx_k_Subt_Lj_requiredKeys), 0, 0, 1, 1},
20197  {&__pyx_n_s_Subt_Lj_setDefaultParams, __pyx_k_Subt_Lj_setDefaultParams, sizeof(__pyx_k_Subt_Lj_setDefaultParams), 0, 0, 1, 1},
20198  {&__pyx_n_s_Subt_Lj_typeName, __pyx_k_Subt_Lj_typeName, sizeof(__pyx_k_Subt_Lj_typeName), 0, 0, 1, 1},
20199  {&__pyx_n_s_Subt_Lj_typeNumber, __pyx_k_Subt_Lj_typeNumber, sizeof(__pyx_k_Subt_Lj_typeNumber), 0, 0, 1, 1},
20200  {&__pyx_n_s_Subt_Lj_validKeys, __pyx_k_Subt_Lj_validKeys, sizeof(__pyx_k_Subt_Lj_validKeys), 0, 0, 1, 1},
20201  {&__pyx_n_s_TABULATED, __pyx_k_TABULATED, sizeof(__pyx_k_TABULATED), 0, 0, 1, 1},
20202  {&__pyx_n_s_Tabulated, __pyx_k_Tabulated, sizeof(__pyx_k_Tabulated), 0, 0, 1, 1},
20203  {&__pyx_n_s_Tabulated__getParamsFromEsCore, __pyx_k_Tabulated__getParamsFromEsCore, sizeof(__pyx_k_Tabulated__getParamsFromEsCore), 0, 0, 1, 1},
20204  {&__pyx_n_s_Tabulated__setParamsInEsCore, __pyx_k_Tabulated__setParamsInEsCore, sizeof(__pyx_k_Tabulated__setParamsInEsCore), 0, 0, 1, 1},
20205  {&__pyx_n_s_Tabulated_requiredKeys, __pyx_k_Tabulated_requiredKeys, sizeof(__pyx_k_Tabulated_requiredKeys), 0, 0, 1, 1},
20206  {&__pyx_n_s_Tabulated_setDefaultParams, __pyx_k_Tabulated_setDefaultParams, sizeof(__pyx_k_Tabulated_setDefaultParams), 0, 0, 1, 1},
20207  {&__pyx_n_s_Tabulated_typeName, __pyx_k_Tabulated_typeName, sizeof(__pyx_k_Tabulated_typeName), 0, 0, 1, 1},
20208  {&__pyx_n_s_Tabulated_typeNumber, __pyx_k_Tabulated_typeNumber, sizeof(__pyx_k_Tabulated_typeNumber), 0, 0, 1, 1},
20209  {&__pyx_n_s_Tabulated_validKeys, __pyx_k_Tabulated_validKeys, sizeof(__pyx_k_Tabulated_validKeys), 0, 0, 1, 1},
20210  {&__pyx_kp_s_The_bond_with_this_id_is_not_def, __pyx_k_The_bond_with_this_id_is_not_def, sizeof(__pyx_k_The_bond_with_this_id_is_not_def), 0, 0, 1, 0},
20211  {&__pyx_kp_s_The_bonded_interaction_with_the, __pyx_k_The_bonded_interaction_with_the, sizeof(__pyx_k_The_bonded_interaction_with_the), 0, 0, 1, 0},
20212  {&__pyx_kp_s_The_constructor_has_to_be_called, __pyx_k_The_constructor_has_to_be_called, sizeof(__pyx_k_The_constructor_has_to_be_called), 0, 0, 1, 0},
20213  {&__pyx_kp_s_The_constructor_has_to_be_called_2, __pyx_k_The_constructor_has_to_be_called_2, sizeof(__pyx_k_The_constructor_has_to_be_called_2), 0, 0, 1, 0},
20214  {&__pyx_kp_s_The_particle_types_have_to_be_of, __pyx_k_The_particle_types_have_to_be_of, sizeof(__pyx_k_The_particle_types_have_to_be_of), 0, 0, 1, 0},
20215  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
20216  {&__pyx_n_s_V0, __pyx_k_V0, sizeof(__pyx_k_V0), 0, 0, 1, 1},
20217  {&__pyx_n_s_VIRTUAL, __pyx_k_VIRTUAL, sizeof(__pyx_k_VIRTUAL), 0, 0, 1, 1},
20218  {&__pyx_n_s_VOLUME_FORCE, __pyx_k_VOLUME_FORCE, sizeof(__pyx_k_VOLUME_FORCE), 0, 0, 1, 1},
20219  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
20220  {&__pyx_n_s_Virtual, __pyx_k_Virtual, sizeof(__pyx_k_Virtual), 0, 0, 1, 1},
20221  {&__pyx_n_s_Virtual__getParamsFromEsCore, __pyx_k_Virtual__getParamsFromEsCore, sizeof(__pyx_k_Virtual__getParamsFromEsCore), 0, 0, 1, 1},
20222  {&__pyx_n_s_Virtual__setParamsInEsCore, __pyx_k_Virtual__setParamsInEsCore, sizeof(__pyx_k_Virtual__setParamsInEsCore), 0, 0, 1, 1},
20223  {&__pyx_n_s_Virtual_requiredKeys, __pyx_k_Virtual_requiredKeys, sizeof(__pyx_k_Virtual_requiredKeys), 0, 0, 1, 1},
20224  {&__pyx_n_s_Virtual_setDefaultParams, __pyx_k_Virtual_setDefaultParams, sizeof(__pyx_k_Virtual_setDefaultParams), 0, 0, 1, 1},
20225  {&__pyx_n_s_Virtual_typeName, __pyx_k_Virtual_typeName, sizeof(__pyx_k_Virtual_typeName), 0, 0, 1, 1},
20226  {&__pyx_n_s_Virtual_typeNumber, __pyx_k_Virtual_typeNumber, sizeof(__pyx_k_Virtual_typeNumber), 0, 0, 1, 1},
20227  {&__pyx_n_s_Virtual_validKeys, __pyx_k_Virtual_validKeys, sizeof(__pyx_k_Virtual_validKeys), 0, 0, 1, 1},
20228  {&__pyx_n_s_Volume_Force, __pyx_k_Volume_Force, sizeof(__pyx_k_Volume_Force), 0, 0, 1, 1},
20229  {&__pyx_n_s_Volume_Force__getParamsFromEsCor, __pyx_k_Volume_Force__getParamsFromEsCor, sizeof(__pyx_k_Volume_Force__getParamsFromEsCor), 0, 0, 1, 1},
20230  {&__pyx_n_s_Volume_Force__setParamsInEsCore, __pyx_k_Volume_Force__setParamsInEsCore, sizeof(__pyx_k_Volume_Force__setParamsInEsCore), 0, 0, 1, 1},
20231  {&__pyx_n_s_Volume_Force_requiredKeys, __pyx_k_Volume_Force_requiredKeys, sizeof(__pyx_k_Volume_Force_requiredKeys), 0, 0, 1, 1},
20232  {&__pyx_n_s_Volume_Force_setDefaultParams, __pyx_k_Volume_Force_setDefaultParams, sizeof(__pyx_k_Volume_Force_setDefaultParams), 0, 0, 1, 1},
20233  {&__pyx_n_s_Volume_Force_typeName, __pyx_k_Volume_Force_typeName, sizeof(__pyx_k_Volume_Force_typeName), 0, 0, 1, 1},
20234  {&__pyx_n_s_Volume_Force_typeNumber, __pyx_k_Volume_Force_typeNumber, sizeof(__pyx_k_Volume_Force_typeNumber), 0, 0, 1, 1},
20235  {&__pyx_n_s_Volume_Force_validKeys, __pyx_k_Volume_Force_validKeys, sizeof(__pyx_k_Volume_Force_validKeys), 0, 0, 1, 1},
20236  {&__pyx_kp_s__43, __pyx_k__43, sizeof(__pyx_k__43), 0, 0, 1, 0},
20237  {&__pyx_kp_s__67, __pyx_k__67, sizeof(__pyx_k__67), 0, 0, 1, 0},
20238  {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
20239  {&__pyx_n_s_auto, __pyx_k_auto, sizeof(__pyx_k_auto), 0, 0, 1, 1},
20240  {&__pyx_n_s_b1, __pyx_k_b1, sizeof(__pyx_k_b1), 0, 0, 1, 1},
20241  {&__pyx_n_s_b2, __pyx_k_b2, sizeof(__pyx_k_b2), 0, 0, 1, 1},
20242  {&__pyx_n_s_bend, __pyx_k_bend, sizeof(__pyx_k_bend), 0, 0, 1, 1},
20243  {&__pyx_n_s_bondClass, __pyx_k_bondClass, sizeof(__pyx_k_bondClass), 0, 0, 1, 1},
20244  {&__pyx_n_s_bondId, __pyx_k_bondId, sizeof(__pyx_k_bondId), 0, 0, 1, 1},
20245  {&__pyx_n_s_bondId_2, __pyx_k_bondId_2, sizeof(__pyx_k_bondId_2), 0, 0, 1, 1},
20246  {&__pyx_n_s_bondType, __pyx_k_bondType, sizeof(__pyx_k_bondType), 0, 0, 1, 1},
20247  {&__pyx_kp_s_bond_in_the_Espresso_core, __pyx_k_bond_in_the_Espresso_core, sizeof(__pyx_k_bond_in_the_Espresso_core), 0, 0, 1, 0},
20248  {&__pyx_n_s_bondedInteractionClasses, __pyx_k_bondedInteractionClasses, sizeof(__pyx_k_bondedInteractionClasses), 0, 0, 1, 1},
20249  {&__pyx_n_s_class_s, __pyx_k_class_s, sizeof(__pyx_k_class_s), 0, 0, 1, 1},
20250  {&__pyx_n_s_cutoff, __pyx_k_cutoff, sizeof(__pyx_k_cutoff), 0, 0, 1, 1},
20251  {&__pyx_n_s_d_r_max, __pyx_k_d_r_max, sizeof(__pyx_k_d_r_max), 0, 0, 1, 1},
20252  {&__pyx_n_s_defaultParams, __pyx_k_defaultParams, sizeof(__pyx_k_defaultParams), 0, 0, 1, 1},
20253  {&__pyx_n_s_delta, __pyx_k_delta, sizeof(__pyx_k_delta), 0, 0, 1, 1},
20254  {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
20255  {&__pyx_n_s_e1, __pyx_k_e1, sizeof(__pyx_k_e1), 0, 0, 1, 1},
20256  {&__pyx_n_s_e2, __pyx_k_e2, sizeof(__pyx_k_e2), 0, 0, 1, 1},
20257  {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
20258  {&__pyx_n_s_epsilon, __pyx_k_epsilon, sizeof(__pyx_k_epsilon), 0, 0, 1, 1},
20259  {&__pyx_n_s_espressomd_interactions, __pyx_k_espressomd_interactions, sizeof(__pyx_k_espressomd_interactions), 0, 0, 1, 1},
20260  {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1},
20261  {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1},
20262  {&__pyx_n_s_genericLennardJones, __pyx_k_genericLennardJones, sizeof(__pyx_k_genericLennardJones), 0, 0, 1, 1},
20263  {&__pyx_n_s_getParamsFromEsCore, __pyx_k_getParamsFromEsCore, sizeof(__pyx_k_getParamsFromEsCore), 0, 0, 1, 1},
20264  {&__pyx_n_s_getitem, __pyx_k_getitem, sizeof(__pyx_k_getitem), 0, 0, 1, 1},
20265  {&__pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_k_home_haozeke_Github_LabBom_espr, sizeof(__pyx_k_home_haozeke_Github_LabBom_espr), 0, 0, 1, 0},
20266  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
20267  {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
20268  {&__pyx_n_s_invstepsize, __pyx_k_invstepsize, sizeof(__pyx_k_invstepsize), 0, 0, 1, 1},
20269  {&__pyx_n_s_isActive, __pyx_k_isActive, sizeof(__pyx_k_isActive), 0, 0, 1, 1},
20270  {&__pyx_kp_s_is_not_yet_defined, __pyx_k_is_not_yet_defined, sizeof(__pyx_k_is_not_yet_defined), 0, 0, 1, 0},
20271  {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
20272  {&__pyx_n_s_k1, __pyx_k_k1, sizeof(__pyx_k_k1), 0, 0, 1, 1},
20273  {&__pyx_n_s_k2, __pyx_k_k2, sizeof(__pyx_k_k2), 0, 0, 1, 1},
20274  {&__pyx_kp_s_k_2, __pyx_k_k_2, sizeof(__pyx_k_k_2), 0, 0, 1, 0},
20275  {&__pyx_n_s_ka_g, __pyx_k_ka_g, sizeof(__pyx_k_ka_g), 0, 0, 1, 1},
20276  {&__pyx_n_s_ka_l, __pyx_k_ka_l, sizeof(__pyx_k_ka_l), 0, 0, 1, 1},
20277  {&__pyx_n_s_kb, __pyx_k_kb, sizeof(__pyx_k_kb), 0, 0, 1, 1},
20278  {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
20279  {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
20280  {&__pyx_n_s_ks, __pyx_k_ks, sizeof(__pyx_k_ks), 0, 0, 1, 1},
20281  {&__pyx_n_s_kslin, __pyx_k_kslin, sizeof(__pyx_k_kslin), 0, 0, 1, 1},
20282  {&__pyx_n_s_kv, __pyx_k_kv, sizeof(__pyx_k_kv), 0, 0, 1, 1},
20283  {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
20284  {&__pyx_n_s_lambda, __pyx_k_lambda, sizeof(__pyx_k_lambda), 0, 0, 1, 1},
20285  {&__pyx_n_s_lennardJones, __pyx_k_lennardJones, sizeof(__pyx_k_lennardJones), 0, 0, 1, 1},
20286  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
20287  {&__pyx_n_s_maxval, __pyx_k_maxval, sizeof(__pyx_k_maxval), 0, 0, 1, 1},
20288  {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
20289  {&__pyx_n_s_min, __pyx_k_min, sizeof(__pyx_k_min), 0, 0, 1, 1},
20290  {&__pyx_n_s_minval, __pyx_k_minval, sizeof(__pyx_k_minval), 0, 0, 1, 1},
20291  {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
20292  {&__pyx_n_s_mult, __pyx_k_mult, sizeof(__pyx_k_mult), 0, 0, 1, 1},
20293  {&__pyx_kp_s_mult_2, __pyx_k_mult_2, sizeof(__pyx_k_mult_2), 0, 0, 1, 0},
20294  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
20295  {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
20296  {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},
20297  {&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0},
20298  {&__pyx_kp_s_not_compiled_into_Espresso_core, __pyx_k_not_compiled_into_Espresso_core, sizeof(__pyx_k_not_compiled_into_Espresso_core), 0, 0, 1, 0},
20299  {&__pyx_n_s_npoints, __pyx_k_npoints, sizeof(__pyx_k_npoints), 0, 0, 1, 1},
20300  {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
20301  {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1},
20302  {&__pyx_n_s_overlap_type, __pyx_k_overlap_type, sizeof(__pyx_k_overlap_type), 0, 0, 1, 1},
20303  {&__pyx_n_s_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 0, 1, 1},
20304  {&__pyx_n_s_params_2, __pyx_k_params_2, sizeof(__pyx_k_params_2), 0, 0, 1, 1},
20305  {&__pyx_n_s_phase, __pyx_k_phase, sizeof(__pyx_k_phase), 0, 0, 1, 1},
20306  {&__pyx_n_s_phi0, __pyx_k_phi0, sizeof(__pyx_k_phi0), 0, 0, 1, 1},
20307  {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
20308  {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
20309  {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
20310  {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1},
20311  {&__pyx_n_s_r0, __pyx_k_r0, sizeof(__pyx_k_r0), 0, 0, 1, 1},
20312  {&__pyx_n_s_r_0, __pyx_k_r_0, sizeof(__pyx_k_r_0), 0, 0, 1, 1},
20313  {&__pyx_n_s_r_cut, __pyx_k_r_cut, sizeof(__pyx_k_r_cut), 0, 0, 1, 1},
20314  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
20315  {&__pyx_n_s_requiredKeys, __pyx_k_requiredKeys, sizeof(__pyx_k_requiredKeys), 0, 0, 1, 1},
20316  {&__pyx_kp_s_s_has_to_be_defined_in_myconfig, __pyx_k_s_has_to_be_defined_in_myconfig, sizeof(__pyx_k_s_has_to_be_defined_in_myconfig), 0, 0, 1, 0},
20317  {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
20318  {&__pyx_n_s_setDefaultParams, __pyx_k_setDefaultParams, sizeof(__pyx_k_setDefaultParams), 0, 0, 1, 1},
20319  {&__pyx_n_s_setParamsInEsCore, __pyx_k_setParamsInEsCore, sizeof(__pyx_k_setParamsInEsCore), 0, 0, 1, 1},
20320  {&__pyx_n_s_setitem, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1},
20321  {&__pyx_n_s_shift, __pyx_k_shift, sizeof(__pyx_k_shift), 0, 0, 1, 1},
20322  {&__pyx_n_s_sigma, __pyx_k_sigma, sizeof(__pyx_k_sigma), 0, 0, 1, 1},
20323  {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
20324  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
20325  {&__pyx_n_s_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 0, 1, 1},
20326  {&__pyx_n_s_type1, __pyx_k_type1, sizeof(__pyx_k_type1), 0, 0, 1, 1},
20327  {&__pyx_n_s_type1_2, __pyx_k_type1_2, sizeof(__pyx_k_type1_2), 0, 0, 1, 1},
20328  {&__pyx_n_s_type2, __pyx_k_type2, sizeof(__pyx_k_type2), 0, 0, 1, 1},
20329  {&__pyx_n_s_type2_2, __pyx_k_type2_2, sizeof(__pyx_k_type2_2), 0, 0, 1, 1},
20330  {&__pyx_n_s_typeName, __pyx_k_typeName, sizeof(__pyx_k_typeName), 0, 0, 1, 1},
20331  {&__pyx_n_s_typeNumber, __pyx_k_typeNumber, sizeof(__pyx_k_typeNumber), 0, 0, 1, 1},
20332  {&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0},
20333  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
20334  {&__pyx_n_s_validKeys, __pyx_k_validKeys, sizeof(__pyx_k_validKeys), 0, 0, 1, 1},
20335  {&__pyx_n_s_validateParams, __pyx_k_validateParams, sizeof(__pyx_k_validateParams), 0, 0, 1, 1},
20336  {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
20337  {0, 0, 0, 0, 0, 0, 0}
20338 };
20339 static int __Pyx_InitCachedBuiltins(void) {
20340  __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20341  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20342  __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s_Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20343  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20344  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20345  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20346  return 0;
20347  __pyx_L1_error:;
20348  return -1;
20349 }
20350 
20351 static int __Pyx_InitCachedConstants(void) {
20352  __Pyx_RefNannyDeclarations
20353  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
20354 
20355  /* "espressomd/interactions.pyx":58
20356  *
20357  * else:
20358  * raise Exception( # <<<<<<<<<<<<<<
20359  * "The constructor has to be called either with two particle type ids (as interger), or with a set of keyword arguments describing a new interaction")
20360  *
20361  */
20362  __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_The_constructor_has_to_be_called); if (unlikely(!__pyx_tuple_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20363  __Pyx_GOTREF(__pyx_tuple_);
20364  __Pyx_GIVEREF(__pyx_tuple_);
20365 
20366  /* "espressomd/interactions.pyx":114
20367  *
20368  * def _getParamsFromEsCore(self):
20369  * raise Exception( # <<<<<<<<<<<<<<
20370  * "Subclasses of NonBondedInteraction must define the _getParamsFromEsCore() method.")
20371  *
20372  */
20373  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti); if (unlikely(!__pyx_tuple__2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20374  __Pyx_GOTREF(__pyx_tuple__2);
20375  __Pyx_GIVEREF(__pyx_tuple__2);
20376 
20377  /* "espressomd/interactions.pyx":118
20378  *
20379  * def _setParamsInEsCore(self):
20380  * raise Exception( # <<<<<<<<<<<<<<
20381  * "Subclasses of NonBondedInteraction must define the setParamsFromEsCore() method.")
20382  *
20383  */
20384  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_2); if (unlikely(!__pyx_tuple__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20385  __Pyx_GOTREF(__pyx_tuple__3);
20386  __Pyx_GIVEREF(__pyx_tuple__3);
20387 
20388  /* "espressomd/interactions.pyx":122
20389  *
20390  * def defaultParams(self):
20391  * raise Exception( # <<<<<<<<<<<<<<
20392  * "Subclasses of NonBondedInteraction must define the defaultParams() method.")
20393  *
20394  */
20395  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_3); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20396  __Pyx_GOTREF(__pyx_tuple__4);
20397  __Pyx_GIVEREF(__pyx_tuple__4);
20398 
20399  /* "espressomd/interactions.pyx":130
20400  * if self._partTypes[0] >= 0 and self._partTypes[1] >= 0:
20401  * self._params = self._getParamsFromEsCore()
20402  * raise Exception( # <<<<<<<<<<<<<<
20403  * "Subclasses of NonBondedInteraction must define the isActive() method.")
20404  *
20405  */
20406  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_4); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20407  __Pyx_GOTREF(__pyx_tuple__5);
20408  __Pyx_GIVEREF(__pyx_tuple__5);
20409 
20410  /* "espressomd/interactions.pyx":134
20411  *
20412  * def typeName(self):
20413  * raise Exception( # <<<<<<<<<<<<<<
20414  * "Subclasses of NonBondedInteraction must define the typeName() method.")
20415  *
20416  */
20417  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_5); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20418  __Pyx_GOTREF(__pyx_tuple__6);
20419  __Pyx_GIVEREF(__pyx_tuple__6);
20420 
20421  /* "espressomd/interactions.pyx":138
20422  *
20423  * def validKeys(self):
20424  * raise Exception( # <<<<<<<<<<<<<<
20425  * "Subclasses of NonBondedInteraction must define the validKeys() method.")
20426  *
20427  */
20428  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_6); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20429  __Pyx_GOTREF(__pyx_tuple__7);
20430  __Pyx_GIVEREF(__pyx_tuple__7);
20431 
20432  /* "espressomd/interactions.pyx":142
20433  *
20434  * def requiredKeys(self):
20435  * raise Exception( # <<<<<<<<<<<<<<
20436  * "Subclasses of NonBondedInteraction must define the requiredKeys() method.")
20437  *
20438  */
20439  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_NonBondedInteracti_7); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20440  __Pyx_GOTREF(__pyx_tuple__8);
20441  __Pyx_GIVEREF(__pyx_tuple__8);
20442 
20443  /* "espressomd/interactions.pyx":151
20444  * def validateParams(self):
20445  * if self._params["epsilon"] < 0:
20446  * raise ValueError("Lennard-Jones eps has to be >=0") # <<<<<<<<<<<<<<
20447  * if self._params["sigma"] < 0:
20448  * raise ValueError("Lennard-Jones sigma has to be >=0")
20449  */
20450  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_Lennard_Jones_eps_has_to_be_0); if (unlikely(!__pyx_tuple__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20451  __Pyx_GOTREF(__pyx_tuple__9);
20452  __Pyx_GIVEREF(__pyx_tuple__9);
20453 
20454  /* "espressomd/interactions.pyx":153
20455  * raise ValueError("Lennard-Jones eps has to be >=0")
20456  * if self._params["sigma"] < 0:
20457  * raise ValueError("Lennard-Jones sigma has to be >=0") # <<<<<<<<<<<<<<
20458  * if self._params["cutoff"] < 0:
20459  * raise ValueError("Lennard-Jones cutoff has to be >=0")
20460  */
20461  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_Lennard_Jones_sigma_has_to_be_0); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20462  __Pyx_GOTREF(__pyx_tuple__10);
20463  __Pyx_GIVEREF(__pyx_tuple__10);
20464 
20465  /* "espressomd/interactions.pyx":155
20466  * raise ValueError("Lennard-Jones sigma has to be >=0")
20467  * if self._params["cutoff"] < 0:
20468  * raise ValueError("Lennard-Jones cutoff has to be >=0") # <<<<<<<<<<<<<<
20469  * return True
20470  *
20471  */
20472  __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Lennard_Jones_cutoff_has_to_be_0); if (unlikely(!__pyx_tuple__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20473  __Pyx_GOTREF(__pyx_tuple__11);
20474  __Pyx_GIVEREF(__pyx_tuple__11);
20475 
20476  /* "espressomd/interactions.pyx":187
20477  * 0.0,
20478  * self._params["min"]):
20479  * raise Exception("Could not set Lennard Jones parameters") # <<<<<<<<<<<<<<
20480  *
20481  * def defaultParams(self):
20482  */
20483  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_Lennard_Jones_para); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20484  __Pyx_GOTREF(__pyx_tuple__12);
20485  __Pyx_GIVEREF(__pyx_tuple__12);
20486 
20487  /* "espressomd/interactions.pyx":202
20488  *
20489  * def validKeys(self):
20490  * return "epsilon", "sigma", "cutoff", "shift", "offset", "min" # <<<<<<<<<<<<<<
20491  *
20492  * def requiredKeys(self):
20493  */
20494  __pyx_tuple__13 = PyTuple_Pack(6, __pyx_n_s_epsilon, __pyx_n_s_sigma, __pyx_n_s_cutoff, __pyx_n_s_shift, __pyx_n_s_offset, __pyx_n_s_min); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20495  __Pyx_GOTREF(__pyx_tuple__13);
20496  __Pyx_GIVEREF(__pyx_tuple__13);
20497 
20498  /* "espressomd/interactions.pyx":205
20499  *
20500  * def requiredKeys(self):
20501  * return "epsilon", "sigma", "cutoff", "shift" # <<<<<<<<<<<<<<
20502  *
20503  * # Generic Lennard Jones
20504  */
20505  __pyx_tuple__14 = PyTuple_Pack(4, __pyx_n_s_epsilon, __pyx_n_s_sigma, __pyx_n_s_cutoff, __pyx_n_s_shift); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20506  __Pyx_GOTREF(__pyx_tuple__14);
20507  __Pyx_GIVEREF(__pyx_tuple__14);
20508 
20509  /* "espressomd/interactions.pyx":213
20510  * def validateParams(self):
20511  * if self._params["epsilon"] < 0:
20512  * raise ValueError("Generic Lennard-Jones eps has to be >=0") # <<<<<<<<<<<<<<
20513  * if self._params["sigma"] < 0:
20514  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
20515  */
20516  __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_Generic_Lennard_Jones_eps_has_to); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20517  __Pyx_GOTREF(__pyx_tuple__15);
20518  __Pyx_GIVEREF(__pyx_tuple__15);
20519 
20520  /* "espressomd/interactions.pyx":215
20521  * raise ValueError("Generic Lennard-Jones eps has to be >=0")
20522  * if self._params["sigma"] < 0:
20523  * raise ValueError("Generic Lennard-Jones sigma has to be >=0") # <<<<<<<<<<<<<<
20524  * if self._params["cutoff"] < 0:
20525  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0")
20526  */
20527  __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_Generic_Lennard_Jones_sigma_has); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20528  __Pyx_GOTREF(__pyx_tuple__16);
20529  __Pyx_GIVEREF(__pyx_tuple__16);
20530 
20531  /* "espressomd/interactions.pyx":217
20532  * raise ValueError("Generic Lennard-Jones sigma has to be >=0")
20533  * if self._params["cutoff"] < 0:
20534  * raise ValueError("Generic Lennard-Jones cutoff has to be >=0") # <<<<<<<<<<<<<<
20535  * return True
20536  *
20537  */
20538  __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_s_Generic_Lennard_Jones_cutoff_has); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20539  __Pyx_GOTREF(__pyx_tuple__17);
20540  __Pyx_GIVEREF(__pyx_tuple__17);
20541 
20542  /* "espressomd/interactions.pyx":274
20543  * self._params["b2"],
20544  * 0.0):
20545  * raise Exception( # <<<<<<<<<<<<<<
20546  * "Could not set Generic Lennard Jones parameters")
20547  *
20548  */
20549  __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_Generic_Lennard_Jo); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20550  __Pyx_GOTREF(__pyx_tuple__18);
20551  __Pyx_GIVEREF(__pyx_tuple__18);
20552 
20553  /* "espressomd/interactions.pyx":295
20554  *
20555  * def validKeys(self):
20556  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2", "delta", "lambda" # <<<<<<<<<<<<<<
20557  *
20558  * def requiredKeys(self):
20559  */
20560  __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_epsilon, __pyx_n_s_sigma, __pyx_n_s_cutoff, __pyx_n_s_shift, __pyx_n_s_offset, __pyx_n_s_e1, __pyx_n_s_e2, __pyx_n_s_b1, __pyx_n_s_b2, __pyx_n_s_delta, __pyx_n_s_lambda); if (unlikely(!__pyx_tuple__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20561  __Pyx_GOTREF(__pyx_tuple__19);
20562  __Pyx_GIVEREF(__pyx_tuple__19);
20563 
20564  /* "espressomd/interactions.pyx":298
20565  *
20566  * def requiredKeys(self):
20567  * return "epsilon", "sigma", "cutoff", "shift", "offset", "e1", "e2", "b1", "b2" # <<<<<<<<<<<<<<
20568  *
20569  *
20570  */
20571  __pyx_tuple__20 = PyTuple_Pack(9, __pyx_n_s_epsilon, __pyx_n_s_sigma, __pyx_n_s_cutoff, __pyx_n_s_shift, __pyx_n_s_offset, __pyx_n_s_e1, __pyx_n_s_e2, __pyx_n_s_b1, __pyx_n_s_b2); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20572  __Pyx_GOTREF(__pyx_tuple__20);
20573  __Pyx_GIVEREF(__pyx_tuple__20);
20574 
20575  /* "espressomd/interactions.pyx":315
20576  * """Takes two particle types as argument"""
20577  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
20578  * raise TypeError("The particle types have to be of type integer.") # <<<<<<<<<<<<<<
20579  * self.type1 = _type1
20580  * self.type2 = _type2
20581  */
20582  __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_The_particle_types_have_to_be_of); if (unlikely(!__pyx_tuple__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20583  __Pyx_GOTREF(__pyx_tuple__21);
20584  __Pyx_GIVEREF(__pyx_tuple__21);
20585 
20586  /* "espressomd/interactions.pyx":332
20587  * def __getitem__(self, key):
20588  * if not isinstance(key, tuple):
20589  * raise ValueError( # <<<<<<<<<<<<<<
20590  * "NonBondedInteractions[] expects two particle types as indices.")
20591  * if len(key) != 2 or (not isinstance(key[0], int)) or (not isinstance(key[1], int)):
20592  */
20593  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_NonBondedInteractions_expects_tw); if (unlikely(!__pyx_tuple__22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20594  __Pyx_GOTREF(__pyx_tuple__22);
20595  __Pyx_GIVEREF(__pyx_tuple__22);
20596 
20597  /* "espressomd/interactions.pyx":335
20598  * "NonBondedInteractions[] expects two particle types as indices.")
20599  * if len(key) != 2 or (not isinstance(key[0], int)) or (not isinstance(key[1], int)):
20600  * raise ValueError( # <<<<<<<<<<<<<<
20601  * "NonBondedInteractions[] expects two particle types as indices.")
20602  * return NonBondedInteractionHandle(key[0], key[1])
20603  */
20604  __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_NonBondedInteractions_expects_tw); if (unlikely(!__pyx_tuple__23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20605  __Pyx_GOTREF(__pyx_tuple__23);
20606  __Pyx_GIVEREF(__pyx_tuple__23);
20607 
20608  /* "espressomd/interactions.pyx":341
20609  * def setForceCap(self, cap):
20610  * if forcecap_set_params(cap):
20611  * raise Exception("Could not set forcecap") # <<<<<<<<<<<<<<
20612  *
20613  * def getForceCap(self):
20614  */
20615  __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_Could_not_set_forcecap); if (unlikely(!__pyx_tuple__24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20616  __Pyx_GOTREF(__pyx_tuple__24);
20617  __Pyx_GIVEREF(__pyx_tuple__24);
20618 
20619  /* "espressomd/interactions.pyx":381
20620  *
20621  * else:
20622  * raise Exception( # <<<<<<<<<<<<<<
20623  * "The constructor has to be called either with a bond id (as interger), or with a set of keyword arguments describing a new interaction")
20624  *
20625  */
20626  __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_The_constructor_has_to_be_called_2); if (unlikely(!__pyx_tuple__25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20627  __Pyx_GOTREF(__pyx_tuple__25);
20628  __Pyx_GIVEREF(__pyx_tuple__25);
20629 
20630  /* "espressomd/interactions.pyx":420
20631  *
20632  * def _getParamsFromEsCore(self):
20633  * raise Exception( # <<<<<<<<<<<<<<
20634  * "Subclasses of BondedInteraction must define the _getParamsFromEsCore() method.")
20635  *
20636  */
20637  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction); if (unlikely(!__pyx_tuple__26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20638  __Pyx_GOTREF(__pyx_tuple__26);
20639  __Pyx_GIVEREF(__pyx_tuple__26);
20640 
20641  /* "espressomd/interactions.pyx":424
20642  *
20643  * def _setParamsInEsCore(self):
20644  * raise Exception( # <<<<<<<<<<<<<<
20645  * "Subclasses of BondedInteraction must define the setParamsFromEsCore() method.")
20646  *
20647  */
20648  __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_2); if (unlikely(!__pyx_tuple__27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20649  __Pyx_GOTREF(__pyx_tuple__27);
20650  __Pyx_GIVEREF(__pyx_tuple__27);
20651 
20652  /* "espressomd/interactions.pyx":428
20653  *
20654  * def setDefaultParams(self):
20655  * raise Exception( # <<<<<<<<<<<<<<
20656  * "Subclasses of BondedInteraction must define the setDefaultParams() method.")
20657  *
20658  */
20659  __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_3); if (unlikely(!__pyx_tuple__28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20660  __Pyx_GOTREF(__pyx_tuple__28);
20661  __Pyx_GIVEREF(__pyx_tuple__28);
20662 
20663  /* "espressomd/interactions.pyx":432
20664  *
20665  * def typeNumber(self):
20666  * raise Exception( # <<<<<<<<<<<<<<
20667  * "Subclasses of BondedInteraction must define the typeNumber() method.")
20668  *
20669  */
20670  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_4); if (unlikely(!__pyx_tuple__29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20671  __Pyx_GOTREF(__pyx_tuple__29);
20672  __Pyx_GIVEREF(__pyx_tuple__29);
20673 
20674  /* "espressomd/interactions.pyx":436
20675  *
20676  * def typeName(self):
20677  * raise Exception( # <<<<<<<<<<<<<<
20678  * "Subclasses of BondedInteraction must define the typeName() method.")
20679  *
20680  */
20681  __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_5); if (unlikely(!__pyx_tuple__30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20682  __Pyx_GOTREF(__pyx_tuple__30);
20683  __Pyx_GIVEREF(__pyx_tuple__30);
20684 
20685  /* "espressomd/interactions.pyx":440
20686  *
20687  * def validKeys(self):
20688  * raise Exception( # <<<<<<<<<<<<<<
20689  * "Subclasses of BondedInteraction must define the validKeys() method.")
20690  *
20691  */
20692  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_6); if (unlikely(!__pyx_tuple__31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20693  __Pyx_GOTREF(__pyx_tuple__31);
20694  __Pyx_GIVEREF(__pyx_tuple__31);
20695 
20696  /* "espressomd/interactions.pyx":444
20697  *
20698  * def requiredKeys(self):
20699  * raise Exception( # <<<<<<<<<<<<<<
20700  * "Subclasses of BondedInteraction must define the requiredKeys() method.")
20701  *
20702  */
20703  __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_Subclasses_of_BondedInteraction_7); if (unlikely(!__pyx_tuple__32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20704  __Pyx_GOTREF(__pyx_tuple__32);
20705  __Pyx_GIVEREF(__pyx_tuple__32);
20706 
20707  /* "espressomd/interactions.pyx":485
20708  *
20709  * def validKeys(self):
20710  * return "k", "d_r_max", "r_0" # <<<<<<<<<<<<<<
20711  *
20712  * def requiredKeys(self):
20713  */
20714  __pyx_tuple__33 = PyTuple_Pack(3, __pyx_n_s_k, __pyx_n_s_d_r_max, __pyx_n_s_r_0); if (unlikely(!__pyx_tuple__33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20715  __Pyx_GOTREF(__pyx_tuple__33);
20716  __Pyx_GIVEREF(__pyx_tuple__33);
20717 
20718  /* "espressomd/interactions.pyx":488
20719  *
20720  * def requiredKeys(self):
20721  * return "k", "d_r_max" # <<<<<<<<<<<<<<
20722  *
20723  * def setDefaultParams(self):
20724  */
20725  __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_k, __pyx_n_s_d_r_max); if (unlikely(!__pyx_tuple__34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20726  __Pyx_GOTREF(__pyx_tuple__34);
20727  __Pyx_GIVEREF(__pyx_tuple__34);
20728 
20729  /* "espressomd/interactions.pyx":514
20730  *
20731  * def validKeys(self):
20732  * return "k", "r_0", "r_cut" # <<<<<<<<<<<<<<
20733  *
20734  * def requiredKeys(self):
20735  */
20736  __pyx_tuple__35 = PyTuple_Pack(3, __pyx_n_s_k, __pyx_n_s_r_0, __pyx_n_s_r_cut); if (unlikely(!__pyx_tuple__35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20737  __Pyx_GOTREF(__pyx_tuple__35);
20738  __Pyx_GIVEREF(__pyx_tuple__35);
20739 
20740  /* "espressomd/interactions.pyx":517
20741  *
20742  * def requiredKeys(self):
20743  * return "k", "r_0" # <<<<<<<<<<<<<<
20744  *
20745  * def setDefaultParams(self):
20746  */
20747  __pyx_tuple__36 = PyTuple_Pack(2, __pyx_n_s_k, __pyx_n_s_r_0); if (unlikely(!__pyx_tuple__36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20748  __Pyx_GOTREF(__pyx_tuple__36);
20749  __Pyx_GIVEREF(__pyx_tuple__36);
20750 
20751  /* "espressomd/interactions.pyx":543
20752  *
20753  * def validKeys(self):
20754  * return "k1", "k2", "r_0", "r_cut" # <<<<<<<<<<<<<<
20755  *
20756  * def requiredKeys(self):
20757  */
20758  __pyx_tuple__37 = PyTuple_Pack(4, __pyx_n_s_k1, __pyx_n_s_k2, __pyx_n_s_r_0, __pyx_n_s_r_cut); if (unlikely(!__pyx_tuple__37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20759  __Pyx_GOTREF(__pyx_tuple__37);
20760  __Pyx_GIVEREF(__pyx_tuple__37);
20761 
20762  /* "espressomd/interactions.pyx":546
20763  *
20764  * def requiredKeys(self):
20765  * return "k1", "k2", "r_0" # <<<<<<<<<<<<<<
20766  *
20767  * def setDefaultParams(self):
20768  */
20769  __pyx_tuple__38 = PyTuple_Pack(3, __pyx_n_s_k1, __pyx_n_s_k2, __pyx_n_s_r_0); if (unlikely(!__pyx_tuple__38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20770  __Pyx_GOTREF(__pyx_tuple__38);
20771  __Pyx_GIVEREF(__pyx_tuple__38);
20772 
20773  /* "espressomd/interactions.pyx":636
20774  *
20775  * def validKeys(self):
20776  * return "mult", "bend", "phase" # <<<<<<<<<<<<<<
20777  *
20778  * def requiredKeys(self):
20779  */
20780  __pyx_tuple__39 = PyTuple_Pack(3, __pyx_n_s_mult, __pyx_n_s_bend, __pyx_n_s_phase); if (unlikely(!__pyx_tuple__39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20781  __Pyx_GOTREF(__pyx_tuple__39);
20782  __Pyx_GIVEREF(__pyx_tuple__39);
20783 
20784  /* "espressomd/interactions.pyx":639
20785  *
20786  * def requiredKeys(self):
20787  * return "mult", "bend", "phase" # <<<<<<<<<<<<<<
20788  *
20789  * def setDefaultParams(self):
20790  */
20791  __pyx_tuple__40 = PyTuple_Pack(3, __pyx_n_s_mult, __pyx_n_s_bend, __pyx_n_s_phase); if (unlikely(!__pyx_tuple__40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 639; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20792  __Pyx_GOTREF(__pyx_tuple__40);
20793  __Pyx_GIVEREF(__pyx_tuple__40);
20794 
20795  /* "espressomd/interactions.pyx":665
20796  *
20797  * def validKeys(self):
20798  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize" # <<<<<<<<<<<<<<
20799  *
20800  * def requiredKeys(self):
20801  */
20802  __pyx_tuple__41 = PyTuple_Pack(6, __pyx_n_s_type, __pyx_n_s_filename, __pyx_n_s_npoints, __pyx_n_s_minval, __pyx_n_s_maxval, __pyx_n_s_invstepsize); if (unlikely(!__pyx_tuple__41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20803  __Pyx_GOTREF(__pyx_tuple__41);
20804  __Pyx_GIVEREF(__pyx_tuple__41);
20805 
20806  /* "espressomd/interactions.pyx":668
20807  *
20808  * def requiredKeys(self):
20809  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize" # <<<<<<<<<<<<<<
20810  *
20811  * def setDefaultParams(self):
20812  */
20813  __pyx_tuple__42 = PyTuple_Pack(6, __pyx_n_s_type, __pyx_n_s_filename, __pyx_n_s_npoints, __pyx_n_s_minval, __pyx_n_s_maxval, __pyx_n_s_invstepsize); if (unlikely(!__pyx_tuple__42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20814  __Pyx_GOTREF(__pyx_tuple__42);
20815  __Pyx_GIVEREF(__pyx_tuple__42);
20816 
20817  /* "espressomd/interactions.pyx":722
20818  *
20819  * def validKeys(self):
20820  * return "r", "k" # <<<<<<<<<<<<<<
20821  *
20822  * def requiredKeys(self):
20823  */
20824  __pyx_tuple__44 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_k); if (unlikely(!__pyx_tuple__44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20825  __Pyx_GOTREF(__pyx_tuple__44);
20826  __Pyx_GIVEREF(__pyx_tuple__44);
20827 
20828  /* "espressomd/interactions.pyx":725
20829  *
20830  * def requiredKeys(self):
20831  * return "r", "k" # <<<<<<<<<<<<<<
20832  *
20833  * def setDefaultParams(self):
20834  */
20835  __pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_s_r, __pyx_n_s_k); if (unlikely(!__pyx_tuple__45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20836  __Pyx_GOTREF(__pyx_tuple__45);
20837  __Pyx_GIVEREF(__pyx_tuple__45);
20838 
20839  /* "espressomd/interactions.pyx":810
20840  *
20841  * def validKeys(self):
20842  * return "overlap_type", "filename" # <<<<<<<<<<<<<<
20843  *
20844  * def requiredKeys(self):
20845  */
20846  __pyx_tuple__46 = PyTuple_Pack(2, __pyx_n_s_overlap_type, __pyx_n_s_filename); if (unlikely(!__pyx_tuple__46)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20847  __Pyx_GOTREF(__pyx_tuple__46);
20848  __Pyx_GIVEREF(__pyx_tuple__46);
20849 
20850  /* "espressomd/interactions.pyx":813
20851  *
20852  * def requiredKeys(self):
20853  * return "overlap_type", "filename" # <<<<<<<<<<<<<<
20854  *
20855  * def setDefaultParams(self):
20856  */
20857  __pyx_tuple__47 = PyTuple_Pack(2, __pyx_n_s_overlap_type, __pyx_n_s_filename); if (unlikely(!__pyx_tuple__47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20858  __Pyx_GOTREF(__pyx_tuple__47);
20859  __Pyx_GIVEREF(__pyx_tuple__47);
20860 
20861  /* "espressomd/interactions.pyx":841
20862  *
20863  * def validKeys(self):
20864  * return "bend", "phi0" # <<<<<<<<<<<<<<
20865  *
20866  * def requiredKeys(self):
20867  */
20868  __pyx_tuple__48 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__48)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20869  __Pyx_GOTREF(__pyx_tuple__48);
20870  __Pyx_GIVEREF(__pyx_tuple__48);
20871 
20872  /* "espressomd/interactions.pyx":844
20873  *
20874  * def requiredKeys(self):
20875  * return "bend", "phi0" # <<<<<<<<<<<<<<
20876  *
20877  * def setDefaultParams(self):
20878  */
20879  __pyx_tuple__49 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__49)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20880  __Pyx_GOTREF(__pyx_tuple__49);
20881  __Pyx_GIVEREF(__pyx_tuple__49);
20882 
20883  /* "espressomd/interactions.pyx":871
20884  *
20885  * def validKeys(self):
20886  * return "bend", "phi0" # <<<<<<<<<<<<<<
20887  *
20888  * def requiredKeys(self):
20889  */
20890  __pyx_tuple__50 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20891  __Pyx_GOTREF(__pyx_tuple__50);
20892  __Pyx_GIVEREF(__pyx_tuple__50);
20893 
20894  /* "espressomd/interactions.pyx":874
20895  *
20896  * def requiredKeys(self):
20897  * return "bend", "phi0" # <<<<<<<<<<<<<<
20898  *
20899  * def setDefaultParams(self):
20900  */
20901  __pyx_tuple__51 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20902  __Pyx_GOTREF(__pyx_tuple__51);
20903  __Pyx_GIVEREF(__pyx_tuple__51);
20904 
20905  /* "espressomd/interactions.pyx":901
20906  *
20907  * def validKeys(self):
20908  * return "bend", "phi0" # <<<<<<<<<<<<<<
20909  *
20910  * def requiredKeys(self):
20911  */
20912  __pyx_tuple__52 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20913  __Pyx_GOTREF(__pyx_tuple__52);
20914  __Pyx_GIVEREF(__pyx_tuple__52);
20915 
20916  /* "espressomd/interactions.pyx":904
20917  *
20918  * def requiredKeys(self):
20919  * return "bend", "phi0" # <<<<<<<<<<<<<<
20920  *
20921  * def setDefaultParams(self):
20922  */
20923  __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_bend, __pyx_n_s_phi0); if (unlikely(!__pyx_tuple__53)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20924  __Pyx_GOTREF(__pyx_tuple__53);
20925  __Pyx_GIVEREF(__pyx_tuple__53);
20926 
20927  /* "espressomd/interactions.pyx":931
20928  *
20929  * def validKeys(self):
20930  * return "r0", "ks" # <<<<<<<<<<<<<<
20931  *
20932  * def requiredKeys(self):
20933  */
20934  __pyx_tuple__54 = PyTuple_Pack(2, __pyx_n_s_r0, __pyx_n_s_ks); if (unlikely(!__pyx_tuple__54)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20935  __Pyx_GOTREF(__pyx_tuple__54);
20936  __Pyx_GIVEREF(__pyx_tuple__54);
20937 
20938  /* "espressomd/interactions.pyx":934
20939  *
20940  * def requiredKeys(self):
20941  * return "r0", "ks" # <<<<<<<<<<<<<<
20942  *
20943  * def setDefaultParams(self):
20944  */
20945  __pyx_tuple__55 = PyTuple_Pack(2, __pyx_n_s_r0, __pyx_n_s_ks); if (unlikely(!__pyx_tuple__55)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20946  __Pyx_GOTREF(__pyx_tuple__55);
20947  __Pyx_GIVEREF(__pyx_tuple__55);
20948 
20949  /* "espressomd/interactions.pyx":958
20950  *
20951  * def validKeys(self):
20952  * return "A0_l", "ka_l" # <<<<<<<<<<<<<<
20953  *
20954  * def requiredKeys(self):
20955  */
20956  __pyx_tuple__56 = PyTuple_Pack(2, __pyx_n_s_A0_l, __pyx_n_s_ka_l); if (unlikely(!__pyx_tuple__56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20957  __Pyx_GOTREF(__pyx_tuple__56);
20958  __Pyx_GIVEREF(__pyx_tuple__56);
20959 
20960  /* "espressomd/interactions.pyx":961
20961  *
20962  * def requiredKeys(self):
20963  * return "A0_l", "ka_l" # <<<<<<<<<<<<<<
20964  *
20965  * def setDefaultParams(self):
20966  */
20967  __pyx_tuple__57 = PyTuple_Pack(2, __pyx_n_s_A0_l, __pyx_n_s_ka_l); if (unlikely(!__pyx_tuple__57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20968  __Pyx_GOTREF(__pyx_tuple__57);
20969  __Pyx_GIVEREF(__pyx_tuple__57);
20970 
20971  /* "espressomd/interactions.pyx":985
20972  *
20973  * def validKeys(self):
20974  * return "phi0", "kb" # <<<<<<<<<<<<<<
20975  *
20976  * def requiredKeys(self):
20977  */
20978  __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_phi0, __pyx_n_s_kb); if (unlikely(!__pyx_tuple__58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20979  __Pyx_GOTREF(__pyx_tuple__58);
20980  __Pyx_GIVEREF(__pyx_tuple__58);
20981 
20982  /* "espressomd/interactions.pyx":988
20983  *
20984  * def requiredKeys(self):
20985  * return "phi0", "kb" # <<<<<<<<<<<<<<
20986  *
20987  * def setDefaultParams(self):
20988  */
20989  __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_phi0, __pyx_n_s_kb); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
20990  __Pyx_GOTREF(__pyx_tuple__59);
20991  __Pyx_GIVEREF(__pyx_tuple__59);
20992 
20993  /* "espressomd/interactions.pyx":1012
20994  *
20995  * def validKeys(self):
20996  * return "V0", "kv" # <<<<<<<<<<<<<<
20997  *
20998  * def requiredKeys(self):
20999  */
21000  __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_V0, __pyx_n_s_kv); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21001  __Pyx_GOTREF(__pyx_tuple__60);
21002  __Pyx_GIVEREF(__pyx_tuple__60);
21003 
21004  /* "espressomd/interactions.pyx":1015
21005  *
21006  * def requiredKeys(self):
21007  * return "V0", "kv" # <<<<<<<<<<<<<<
21008  *
21009  * def setDefaultParams(self):
21010  */
21011  __pyx_tuple__61 = PyTuple_Pack(2, __pyx_n_s_V0, __pyx_n_s_kv); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21012  __Pyx_GOTREF(__pyx_tuple__61);
21013  __Pyx_GIVEREF(__pyx_tuple__61);
21014 
21015  /* "espressomd/interactions.pyx":1039
21016  *
21017  * def validKeys(self):
21018  * return "A0_g", "ka_g" # <<<<<<<<<<<<<<
21019  *
21020  * def requiredKeys(self):
21021  */
21022  __pyx_tuple__62 = PyTuple_Pack(2, __pyx_n_s_A0_g, __pyx_n_s_ka_g); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21023  __Pyx_GOTREF(__pyx_tuple__62);
21024  __Pyx_GIVEREF(__pyx_tuple__62);
21025 
21026  /* "espressomd/interactions.pyx":1042
21027  *
21028  * def requiredKeys(self):
21029  * return "A0_g", "ka_g" # <<<<<<<<<<<<<<
21030  *
21031  * def setDefaultParams(self):
21032  */
21033  __pyx_tuple__63 = PyTuple_Pack(2, __pyx_n_s_A0_g, __pyx_n_s_ka_g); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21034  __Pyx_GOTREF(__pyx_tuple__63);
21035  __Pyx_GIVEREF(__pyx_tuple__63);
21036 
21037  /* "espressomd/interactions.pyx":1066
21038  *
21039  * def validKeys(self):
21040  * return "r0", "kslin" # <<<<<<<<<<<<<<
21041  *
21042  * def requiredKeys(self):
21043  */
21044  __pyx_tuple__64 = PyTuple_Pack(2, __pyx_n_s_r0, __pyx_n_s_kslin); if (unlikely(!__pyx_tuple__64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21045  __Pyx_GOTREF(__pyx_tuple__64);
21046  __Pyx_GIVEREF(__pyx_tuple__64);
21047 
21048  /* "espressomd/interactions.pyx":1069
21049  *
21050  * def requiredKeys(self):
21051  * return "r0", "kslin" # <<<<<<<<<<<<<<
21052  *
21053  * def setDefaultParams(self):
21054  */
21055  __pyx_tuple__65 = PyTuple_Pack(2, __pyx_n_s_r0, __pyx_n_s_kslin); if (unlikely(!__pyx_tuple__65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1069; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21056  __Pyx_GOTREF(__pyx_tuple__65);
21057  __Pyx_GIVEREF(__pyx_tuple__65);
21058 
21059  /* "espressomd/interactions.pyx":1103
21060  * def __getitem__(self, key):
21061  * if not isinstance(key, int):
21062  * raise ValueError( # <<<<<<<<<<<<<<
21063  * "Index to BondedInteractions[] hast to ba an integer referring to a bond id")
21064  *
21065  */
21066  __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_Index_to_BondedInteractions_hast); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21067  __Pyx_GOTREF(__pyx_tuple__66);
21068  __Pyx_GIVEREF(__pyx_tuple__66);
21069 
21070  /* "espressomd/interactions.pyx":1128
21071  * # type of key must be int
21072  * if not isinstance(key, int):
21073  * raise ValueError( # <<<<<<<<<<<<<<
21074  * "Index to BondedInteractions[] has to ba an integer referring to a bond id")
21075  *
21076  */
21077  __pyx_tuple__68 = PyTuple_Pack(1, __pyx_kp_s_Index_to_BondedInteractions_has); if (unlikely(!__pyx_tuple__68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21078  __Pyx_GOTREF(__pyx_tuple__68);
21079  __Pyx_GIVEREF(__pyx_tuple__68);
21080 
21081  /* "espressomd/interactions.pyx":1133
21082  * # Value must be subclass off BondedInteraction
21083  * if not isinstance(value, BondedInteraction):
21084  * raise ValueError( # <<<<<<<<<<<<<<
21085  * "Only subclasses of BondedInteraction can be assigned.")
21086  *
21087  */
21088  __pyx_tuple__69 = PyTuple_Pack(1, __pyx_kp_s_Only_subclasses_of_BondedInterac); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21089  __Pyx_GOTREF(__pyx_tuple__69);
21090  __Pyx_GIVEREF(__pyx_tuple__69);
21091 
21092  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":218
21093  * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
21094  * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
21095  * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<
21096  *
21097  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
21098  */
21099  __pyx_tuple__70 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21100  __Pyx_GOTREF(__pyx_tuple__70);
21101  __Pyx_GIVEREF(__pyx_tuple__70);
21102 
21103  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":222
21104  * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
21105  * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
21106  * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<
21107  *
21108  * info.buf = PyArray_DATA(self)
21109  */
21110  __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__71)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21111  __Pyx_GOTREF(__pyx_tuple__71);
21112  __Pyx_GIVEREF(__pyx_tuple__71);
21113 
21114  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":260
21115  * if ((descr.byteorder == c'>' and little_endian) or
21116  * (descr.byteorder == c'<' and not little_endian)):
21117  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
21118  * if t == NPY_BYTE: f = "b"
21119  * elif t == NPY_UBYTE: f = "B"
21120  */
21121  __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21122  __Pyx_GOTREF(__pyx_tuple__72);
21123  __Pyx_GIVEREF(__pyx_tuple__72);
21124 
21125  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":802
21126  *
21127  * if (end - f) - <int>(new_offset - offset[0]) < 15:
21128  * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<
21129  *
21130  * if ((child.byteorder == c'>' and little_endian) or
21131  */
21132  __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21133  __Pyx_GOTREF(__pyx_tuple__73);
21134  __Pyx_GIVEREF(__pyx_tuple__73);
21135 
21136  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":806
21137  * if ((child.byteorder == c'>' and little_endian) or
21138  * (child.byteorder == c'<' and not little_endian)):
21139  * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<
21140  * # One could encode it in the format string and have Cython
21141  * # complain instead, BUT: < and > in format strings also imply
21142  */
21143  __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21144  __Pyx_GOTREF(__pyx_tuple__74);
21145  __Pyx_GIVEREF(__pyx_tuple__74);
21146 
21147  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":826
21148  * t = child.type_num
21149  * if end - f < 5:
21150  * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<
21151  *
21152  * # Until ticket #99 is fixed, use integers to avoid warnings
21153  */
21154  __pyx_tuple__75 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21155  __Pyx_GOTREF(__pyx_tuple__75);
21156  __Pyx_GIVEREF(__pyx_tuple__75);
21157 
21158  /* "espressomd/interactions.pyx":312
21159  * lennardJones = None
21160  *
21161  * def __init__(self, _type1, _type2): # <<<<<<<<<<<<<<
21162  * """Takes two particle types as argument"""
21163  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
21164  */
21165  __pyx_tuple__76 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_type1, __pyx_n_s_type2); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21166  __Pyx_GOTREF(__pyx_tuple__76);
21167  __Pyx_GIVEREF(__pyx_tuple__76);
21168  __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_init, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21169 
21170  /* "espressomd/interactions.pyx":450
21171  * class BondedInteractionNotDefined(object):
21172  *
21173  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
21174  * raise Exception(
21175  * self.__class_s__.__name__ + " not compiled into Espresso core")
21176  */
21177  __pyx_tuple__78 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21178  __Pyx_GOTREF(__pyx_tuple__78);
21179  __Pyx_GIVEREF(__pyx_tuple__78);
21180  __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_init, 450, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21181 
21182  /* "espressomd/interactions.pyx":454
21183  * self.__class_s__.__name__ + " not compiled into Espresso core")
21184  *
21185  * def typeNumber(self): # <<<<<<<<<<<<<<
21186  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21187  *
21188  */
21189  __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21190  __Pyx_GOTREF(__pyx_tuple__80);
21191  __Pyx_GIVEREF(__pyx_tuple__80);
21192  __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 454, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21193 
21194  /* "espressomd/interactions.pyx":457
21195  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21196  *
21197  * def typeName(self): # <<<<<<<<<<<<<<
21198  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21199  *
21200  */
21201  __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21202  __Pyx_GOTREF(__pyx_tuple__82);
21203  __Pyx_GIVEREF(__pyx_tuple__82);
21204  __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21205 
21206  /* "espressomd/interactions.pyx":460
21207  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21208  *
21209  * def validKeys(self): # <<<<<<<<<<<<<<
21210  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21211  *
21212  */
21213  __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21214  __Pyx_GOTREF(__pyx_tuple__84);
21215  __Pyx_GIVEREF(__pyx_tuple__84);
21216  __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 460, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21217 
21218  /* "espressomd/interactions.pyx":463
21219  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21220  *
21221  * def requiredKeys(self): # <<<<<<<<<<<<<<
21222  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21223  *
21224  */
21225  __pyx_tuple__86 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__86)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21226  __Pyx_GOTREF(__pyx_tuple__86);
21227  __Pyx_GIVEREF(__pyx_tuple__86);
21228  __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21229 
21230  /* "espressomd/interactions.pyx":466
21231  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21232  *
21233  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21234  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21235  *
21236  */
21237  __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21238  __Pyx_GOTREF(__pyx_tuple__88);
21239  __Pyx_GIVEREF(__pyx_tuple__88);
21240  __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21241 
21242  /* "espressomd/interactions.pyx":469
21243  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21244  *
21245  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21246  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21247  *
21248  */
21249  __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21250  __Pyx_GOTREF(__pyx_tuple__90);
21251  __Pyx_GIVEREF(__pyx_tuple__90);
21252  __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21253 
21254  /* "espressomd/interactions.pyx":472
21255  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21256  *
21257  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21258  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
21259  *
21260  */
21261  __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21262  __Pyx_GOTREF(__pyx_tuple__92);
21263  __Pyx_GIVEREF(__pyx_tuple__92);
21264  __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 472, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21265 
21266  /* "espressomd/interactions.pyx":478
21267  * class FeneBond(BondedInteraction):
21268  *
21269  * def typeNumber(self): # <<<<<<<<<<<<<<
21270  * return 0
21271  *
21272  */
21273  __pyx_tuple__94 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21274  __Pyx_GOTREF(__pyx_tuple__94);
21275  __Pyx_GIVEREF(__pyx_tuple__94);
21276  __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21277 
21278  /* "espressomd/interactions.pyx":481
21279  * return 0
21280  *
21281  * def typeName(self): # <<<<<<<<<<<<<<
21282  * return "FENE"
21283  *
21284  */
21285  __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21286  __Pyx_GOTREF(__pyx_tuple__96);
21287  __Pyx_GIVEREF(__pyx_tuple__96);
21288  __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21289 
21290  /* "espressomd/interactions.pyx":484
21291  * return "FENE"
21292  *
21293  * def validKeys(self): # <<<<<<<<<<<<<<
21294  * return "k", "d_r_max", "r_0"
21295  *
21296  */
21297  __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21298  __Pyx_GOTREF(__pyx_tuple__98);
21299  __Pyx_GIVEREF(__pyx_tuple__98);
21300  __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21301 
21302  /* "espressomd/interactions.pyx":487
21303  * return "k", "d_r_max", "r_0"
21304  *
21305  * def requiredKeys(self): # <<<<<<<<<<<<<<
21306  * return "k", "d_r_max"
21307  *
21308  */
21309  __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21310  __Pyx_GOTREF(__pyx_tuple__100);
21311  __Pyx_GIVEREF(__pyx_tuple__100);
21312  __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 487, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21313 
21314  /* "espressomd/interactions.pyx":490
21315  * return "k", "d_r_max"
21316  *
21317  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21318  * self._params = {"r_0": 0.}
21319  * # Everything else has to be supplied by the user, anyway
21320  */
21321  __pyx_tuple__102 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21322  __Pyx_GOTREF(__pyx_tuple__102);
21323  __Pyx_GIVEREF(__pyx_tuple__102);
21324  __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21325 
21326  /* "espressomd/interactions.pyx":494
21327  * # Everything else has to be supplied by the user, anyway
21328  *
21329  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21330  * return \
21331  * {"k": bonded_ia_params[self._bondId].p.fene.k,
21332  */
21333  __pyx_tuple__104 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21334  __Pyx_GOTREF(__pyx_tuple__104);
21335  __Pyx_GIVEREF(__pyx_tuple__104);
21336  __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 494, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21337 
21338  /* "espressomd/interactions.pyx":500
21339  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
21340  *
21341  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21342  * fene_set_params(
21343  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"])
21344  */
21345  __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21346  __Pyx_GOTREF(__pyx_tuple__106);
21347  __Pyx_GIVEREF(__pyx_tuple__106);
21348  __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21349 
21350  /* "espressomd/interactions.pyx":507
21351  * class HarmonicBond(BondedInteraction):
21352  *
21353  * def typeNumber(self): # <<<<<<<<<<<<<<
21354  * return 1
21355  *
21356  */
21357  __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21358  __Pyx_GOTREF(__pyx_tuple__108);
21359  __Pyx_GIVEREF(__pyx_tuple__108);
21360  __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 507, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21361 
21362  /* "espressomd/interactions.pyx":510
21363  * return 1
21364  *
21365  * def typeName(self): # <<<<<<<<<<<<<<
21366  * return "HARMONIC"
21367  *
21368  */
21369  __pyx_tuple__110 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21370  __Pyx_GOTREF(__pyx_tuple__110);
21371  __Pyx_GIVEREF(__pyx_tuple__110);
21372  __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21373 
21374  /* "espressomd/interactions.pyx":513
21375  * return "HARMONIC"
21376  *
21377  * def validKeys(self): # <<<<<<<<<<<<<<
21378  * return "k", "r_0", "r_cut"
21379  *
21380  */
21381  __pyx_tuple__112 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21382  __Pyx_GOTREF(__pyx_tuple__112);
21383  __Pyx_GIVEREF(__pyx_tuple__112);
21384  __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21385 
21386  /* "espressomd/interactions.pyx":516
21387  * return "k", "r_0", "r_cut"
21388  *
21389  * def requiredKeys(self): # <<<<<<<<<<<<<<
21390  * return "k", "r_0"
21391  *
21392  */
21393  __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21394  __Pyx_GOTREF(__pyx_tuple__114);
21395  __Pyx_GIVEREF(__pyx_tuple__114);
21396  __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 516, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21397 
21398  /* "espressomd/interactions.pyx":519
21399  * return "k", "r_0"
21400  *
21401  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21402  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
21403  *
21404  */
21405  __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21406  __Pyx_GOTREF(__pyx_tuple__116);
21407  __Pyx_GIVEREF(__pyx_tuple__116);
21408  __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21409 
21410  /* "espressomd/interactions.pyx":522
21411  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
21412  *
21413  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21414  * return \
21415  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
21416  */
21417  __pyx_tuple__118 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21418  __Pyx_GOTREF(__pyx_tuple__118);
21419  __Pyx_GIVEREF(__pyx_tuple__118);
21420  __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 522, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21421 
21422  /* "espressomd/interactions.pyx":528
21423  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
21424  *
21425  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21426  * harmonic_set_params(
21427  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"])
21428  */
21429  __pyx_tuple__120 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21430  __Pyx_GOTREF(__pyx_tuple__120);
21431  __Pyx_GIVEREF(__pyx_tuple__120);
21432  __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21433 
21434  /* "espressomd/interactions.pyx":536
21435  * class HarmonicDumbbellBond(BondedInteraction):
21436  *
21437  * def typeNumber(self): # <<<<<<<<<<<<<<
21438  * return 2
21439  *
21440  */
21441  __pyx_tuple__122 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21442  __Pyx_GOTREF(__pyx_tuple__122);
21443  __Pyx_GIVEREF(__pyx_tuple__122);
21444  __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 536, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21445 
21446  /* "espressomd/interactions.pyx":539
21447  * return 2
21448  *
21449  * def typeName(self): # <<<<<<<<<<<<<<
21450  * return "HARMONIC_DUMBBELL"
21451  *
21452  */
21453  __pyx_tuple__124 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21454  __Pyx_GOTREF(__pyx_tuple__124);
21455  __Pyx_GIVEREF(__pyx_tuple__124);
21456  __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 539, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21457 
21458  /* "espressomd/interactions.pyx":542
21459  * return "HARMONIC_DUMBBELL"
21460  *
21461  * def validKeys(self): # <<<<<<<<<<<<<<
21462  * return "k1", "k2", "r_0", "r_cut"
21463  *
21464  */
21465  __pyx_tuple__126 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21466  __Pyx_GOTREF(__pyx_tuple__126);
21467  __Pyx_GIVEREF(__pyx_tuple__126);
21468  __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21469 
21470  /* "espressomd/interactions.pyx":545
21471  * return "k1", "k2", "r_0", "r_cut"
21472  *
21473  * def requiredKeys(self): # <<<<<<<<<<<<<<
21474  * return "k1", "k2", "r_0"
21475  *
21476  */
21477  __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21478  __Pyx_GOTREF(__pyx_tuple__128);
21479  __Pyx_GIVEREF(__pyx_tuple__128);
21480  __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21481 
21482  /* "espressomd/interactions.pyx":548
21483  * return "k1", "k2", "r_0"
21484  *
21485  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21486  * self._params = {"r_cut": 0.}
21487  *
21488  */
21489  __pyx_tuple__130 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21490  __Pyx_GOTREF(__pyx_tuple__130);
21491  __Pyx_GIVEREF(__pyx_tuple__130);
21492  __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 548, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21493 
21494  /* "espressomd/interactions.pyx":551
21495  * self._params = {"r_cut": 0.}
21496  *
21497  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21498  * return \
21499  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
21500  */
21501  __pyx_tuple__132 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21502  __Pyx_GOTREF(__pyx_tuple__132);
21503  __Pyx_GIVEREF(__pyx_tuple__132);
21504  __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21505 
21506  /* "espressomd/interactions.pyx":558
21507  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
21508  *
21509  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21510  * harmonic_dumbbell_set_params(
21511  * self._bondId, self._params["k1"], self._params["k2"],
21512  */
21513  __pyx_tuple__134 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21514  __Pyx_GOTREF(__pyx_tuple__134);
21515  __Pyx_GIVEREF(__pyx_tuple__134);
21516  __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21517 
21518  /* "espressomd/interactions.pyx":629
21519  * class Dihedral(BondedInteraction):
21520  *
21521  * def typeNumber(self): # <<<<<<<<<<<<<<
21522  * return 5
21523  *
21524  */
21525  __pyx_tuple__136 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21526  __Pyx_GOTREF(__pyx_tuple__136);
21527  __Pyx_GIVEREF(__pyx_tuple__136);
21528  __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 629, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21529 
21530  /* "espressomd/interactions.pyx":632
21531  * return 5
21532  *
21533  * def typeName(self): # <<<<<<<<<<<<<<
21534  * return "DIHEDRAL"
21535  *
21536  */
21537  __pyx_tuple__138 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21538  __Pyx_GOTREF(__pyx_tuple__138);
21539  __Pyx_GIVEREF(__pyx_tuple__138);
21540  __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21541 
21542  /* "espressomd/interactions.pyx":635
21543  * return "DIHEDRAL"
21544  *
21545  * def validKeys(self): # <<<<<<<<<<<<<<
21546  * return "mult", "bend", "phase"
21547  *
21548  */
21549  __pyx_tuple__140 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21550  __Pyx_GOTREF(__pyx_tuple__140);
21551  __Pyx_GIVEREF(__pyx_tuple__140);
21552  __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 635, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21553 
21554  /* "espressomd/interactions.pyx":638
21555  * return "mult", "bend", "phase"
21556  *
21557  * def requiredKeys(self): # <<<<<<<<<<<<<<
21558  * return "mult", "bend", "phase"
21559  *
21560  */
21561  __pyx_tuple__142 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21562  __Pyx_GOTREF(__pyx_tuple__142);
21563  __Pyx_GIVEREF(__pyx_tuple__142);
21564  __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21565 
21566  /* "espressomd/interactions.pyx":641
21567  * return "mult", "bend", "phase"
21568  *
21569  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21570  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
21571  *
21572  */
21573  __pyx_tuple__144 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21574  __Pyx_GOTREF(__pyx_tuple__144);
21575  __Pyx_GIVEREF(__pyx_tuple__144);
21576  __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 641, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21577 
21578  /* "espressomd/interactions.pyx":644
21579  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
21580  *
21581  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21582  * return \
21583  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
21584  */
21585  __pyx_tuple__146 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21586  __Pyx_GOTREF(__pyx_tuple__146);
21587  __Pyx_GIVEREF(__pyx_tuple__146);
21588  __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 644, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21589 
21590  /* "espressomd/interactions.pyx":650
21591  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
21592  *
21593  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21594  * dihedral_set_params(
21595  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"])
21596  */
21597  __pyx_tuple__148 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21598  __Pyx_GOTREF(__pyx_tuple__148);
21599  __Pyx_GIVEREF(__pyx_tuple__148);
21600  __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21601 
21602  /* "espressomd/interactions.pyx":658
21603  * class Tabulated(BondedInteraction):
21604  *
21605  * def typeNumber(self): # <<<<<<<<<<<<<<
21606  * return 6
21607  *
21608  */
21609  __pyx_tuple__150 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21610  __Pyx_GOTREF(__pyx_tuple__150);
21611  __Pyx_GIVEREF(__pyx_tuple__150);
21612  __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 658, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21613 
21614  /* "espressomd/interactions.pyx":661
21615  * return 6
21616  *
21617  * def typeName(self): # <<<<<<<<<<<<<<
21618  * return "TABULATED"
21619  *
21620  */
21621  __pyx_tuple__152 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21622  __Pyx_GOTREF(__pyx_tuple__152);
21623  __Pyx_GIVEREF(__pyx_tuple__152);
21624  __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21625 
21626  /* "espressomd/interactions.pyx":664
21627  * return "TABULATED"
21628  *
21629  * def validKeys(self): # <<<<<<<<<<<<<<
21630  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
21631  *
21632  */
21633  __pyx_tuple__154 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21634  __Pyx_GOTREF(__pyx_tuple__154);
21635  __Pyx_GIVEREF(__pyx_tuple__154);
21636  __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21637 
21638  /* "espressomd/interactions.pyx":667
21639  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
21640  *
21641  * def requiredKeys(self): # <<<<<<<<<<<<<<
21642  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
21643  *
21644  */
21645  __pyx_tuple__156 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21646  __Pyx_GOTREF(__pyx_tuple__156);
21647  __Pyx_GIVEREF(__pyx_tuple__156);
21648  __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 667, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21649 
21650  /* "espressomd/interactions.pyx":670
21651  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
21652  *
21653  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21654  * self._params = {"type": 1, "filename": "", "npoints": 0, "minval": 0, "maxval": 1,
21655  * "invstepsize": 1}
21656  */
21657  __pyx_tuple__158 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21658  __Pyx_GOTREF(__pyx_tuple__158);
21659  __Pyx_GIVEREF(__pyx_tuple__158);
21660  __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21661 
21662  /* "espressomd/interactions.pyx":674
21663  * "invstepsize": 1}
21664  *
21665  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21666  * return \
21667  * {"type": bonded_ia_params[self._bondId].p.tab.type,
21668  */
21669  __pyx_tuple__160 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21670  __Pyx_GOTREF(__pyx_tuple__160);
21671  __Pyx_GIVEREF(__pyx_tuple__160);
21672  __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21673 
21674  /* "espressomd/interactions.pyx":683
21675  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
21676  *
21677  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21678  * tabulated_bonded_set_params(
21679  * self._bondId, self._params["type"], self._params["filename"])
21680  */
21681  __pyx_tuple__162 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21682  __Pyx_GOTREF(__pyx_tuple__162);
21683  __Pyx_GIVEREF(__pyx_tuple__162);
21684  __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21685 
21686  /* "espressomd/interactions.pyx":715
21687  * class Subt_Lj(BondedInteraction):
21688  * IF LENNARD_JONES == 1:
21689  * def typeNumber(self): # <<<<<<<<<<<<<<
21690  * return 7
21691  *
21692  */
21693  __pyx_tuple__164 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21694  __Pyx_GOTREF(__pyx_tuple__164);
21695  __Pyx_GIVEREF(__pyx_tuple__164);
21696  __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21697 
21698  /* "espressomd/interactions.pyx":718
21699  * return 7
21700  *
21701  * def typeName(self): # <<<<<<<<<<<<<<
21702  * return "SUBT_LJ"
21703  *
21704  */
21705  __pyx_tuple__166 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21706  __Pyx_GOTREF(__pyx_tuple__166);
21707  __Pyx_GIVEREF(__pyx_tuple__166);
21708  __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21709 
21710  /* "espressomd/interactions.pyx":721
21711  * return "SUBT_LJ"
21712  *
21713  * def validKeys(self): # <<<<<<<<<<<<<<
21714  * return "r", "k"
21715  *
21716  */
21717  __pyx_tuple__168 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21718  __Pyx_GOTREF(__pyx_tuple__168);
21719  __Pyx_GIVEREF(__pyx_tuple__168);
21720  __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 721, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21721 
21722  /* "espressomd/interactions.pyx":724
21723  * return "r", "k"
21724  *
21725  * def requiredKeys(self): # <<<<<<<<<<<<<<
21726  * return "r", "k"
21727  *
21728  */
21729  __pyx_tuple__170 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21730  __Pyx_GOTREF(__pyx_tuple__170);
21731  __Pyx_GIVEREF(__pyx_tuple__170);
21732  __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21733 
21734  /* "espressomd/interactions.pyx":727
21735  * return "r", "k"
21736  *
21737  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21738  * self._params = {"k": 0, "r": 0}
21739  *
21740  */
21741  __pyx_tuple__172 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21742  __Pyx_GOTREF(__pyx_tuple__172);
21743  __Pyx_GIVEREF(__pyx_tuple__172);
21744  __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21745 
21746  /* "espressomd/interactions.pyx":730
21747  * self._params = {"k": 0, "r": 0}
21748  *
21749  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21750  * return \
21751  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
21752  */
21753  __pyx_tuple__174 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21754  __Pyx_GOTREF(__pyx_tuple__174);
21755  __Pyx_GIVEREF(__pyx_tuple__174);
21756  __pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21757 
21758  /* "espressomd/interactions.pyx":735
21759  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
21760  *
21761  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21762  * subt_lj_set_params(
21763  * self._bondId, self._params["k"], self._params["r"])
21764  */
21765  __pyx_tuple__176 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21766  __Pyx_GOTREF(__pyx_tuple__176);
21767  __Pyx_GIVEREF(__pyx_tuple__176);
21768  __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__176, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21769 
21770  /* "espressomd/interactions.pyx":742
21771  * class Virtual(BondedInteraction):
21772  *
21773  * def typeNumber(self): # <<<<<<<<<<<<<<
21774  * return 9
21775  *
21776  */
21777  __pyx_tuple__178 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__178)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21778  __Pyx_GOTREF(__pyx_tuple__178);
21779  __Pyx_GIVEREF(__pyx_tuple__178);
21780  __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__178, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21781 
21782  /* "espressomd/interactions.pyx":745
21783  * return 9
21784  *
21785  * def typeName(self): # <<<<<<<<<<<<<<
21786  * return "VIRTUAL"
21787  *
21788  */
21789  __pyx_tuple__180 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21790  __Pyx_GOTREF(__pyx_tuple__180);
21791  __Pyx_GIVEREF(__pyx_tuple__180);
21792  __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__180, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21793 
21794  /* "espressomd/interactions.pyx":748
21795  * return "VIRTUAL"
21796  *
21797  * def validKeys(self): # <<<<<<<<<<<<<<
21798  * return
21799  *
21800  */
21801  __pyx_tuple__182 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21802  __Pyx_GOTREF(__pyx_tuple__182);
21803  __Pyx_GIVEREF(__pyx_tuple__182);
21804  __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 748, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21805 
21806  /* "espressomd/interactions.pyx":751
21807  * return
21808  *
21809  * def requiredKeys(self): # <<<<<<<<<<<<<<
21810  * return
21811  *
21812  */
21813  __pyx_tuple__184 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21814  __Pyx_GOTREF(__pyx_tuple__184);
21815  __Pyx_GIVEREF(__pyx_tuple__184);
21816  __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 751, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21817 
21818  /* "espressomd/interactions.pyx":754
21819  * return
21820  *
21821  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21822  * pass
21823  *
21824  */
21825  __pyx_tuple__186 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21826  __Pyx_GOTREF(__pyx_tuple__186);
21827  __Pyx_GIVEREF(__pyx_tuple__186);
21828  __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 754, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21829 
21830  /* "espressomd/interactions.pyx":757
21831  * pass
21832  *
21833  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21834  * pass
21835  *
21836  */
21837  __pyx_tuple__188 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21838  __Pyx_GOTREF(__pyx_tuple__188);
21839  __Pyx_GIVEREF(__pyx_tuple__188);
21840  __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21841 
21842  /* "espressomd/interactions.pyx":760
21843  * pass
21844  *
21845  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21846  * virtual_set_params(self._bondId)
21847  *
21848  */
21849  __pyx_tuple__190 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21850  __Pyx_GOTREF(__pyx_tuple__190);
21851  __Pyx_GIVEREF(__pyx_tuple__190);
21852  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 760, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21853 
21854  /* "espressomd/interactions.pyx":803
21855  * class Overlapped(BondedInteraction):
21856  *
21857  * def typeNumber(self): # <<<<<<<<<<<<<<
21858  * return 12
21859  *
21860  */
21861  __pyx_tuple__192 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21862  __Pyx_GOTREF(__pyx_tuple__192);
21863  __Pyx_GIVEREF(__pyx_tuple__192);
21864  __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21865 
21866  /* "espressomd/interactions.pyx":806
21867  * return 12
21868  *
21869  * def typeName(self): # <<<<<<<<<<<<<<
21870  * return "OVERLAPPED"
21871  *
21872  */
21873  __pyx_tuple__194 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21874  __Pyx_GOTREF(__pyx_tuple__194);
21875  __Pyx_GIVEREF(__pyx_tuple__194);
21876  __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 806, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21877 
21878  /* "espressomd/interactions.pyx":809
21879  * return "OVERLAPPED"
21880  *
21881  * def validKeys(self): # <<<<<<<<<<<<<<
21882  * return "overlap_type", "filename"
21883  *
21884  */
21885  __pyx_tuple__196 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__196)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21886  __Pyx_GOTREF(__pyx_tuple__196);
21887  __Pyx_GIVEREF(__pyx_tuple__196);
21888  __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__196, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 809, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21889 
21890  /* "espressomd/interactions.pyx":812
21891  * return "overlap_type", "filename"
21892  *
21893  * def requiredKeys(self): # <<<<<<<<<<<<<<
21894  * return "overlap_type", "filename"
21895  *
21896  */
21897  __pyx_tuple__198 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21898  __Pyx_GOTREF(__pyx_tuple__198);
21899  __Pyx_GIVEREF(__pyx_tuple__198);
21900  __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 812, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21901 
21902  /* "espressomd/interactions.pyx":815
21903  * return "overlap_type", "filename"
21904  *
21905  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21906  * self._params = {"overlap_type": 0, "filename": ""}
21907  *
21908  */
21909  __pyx_tuple__200 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21910  __Pyx_GOTREF(__pyx_tuple__200);
21911  __Pyx_GIVEREF(__pyx_tuple__200);
21912  __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__200, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21913 
21914  /* "espressomd/interactions.pyx":818
21915  * self._params = {"overlap_type": 0, "filename": ""}
21916  *
21917  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
21918  * return \
21919  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
21920  */
21921  __pyx_tuple__202 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21922  __Pyx_GOTREF(__pyx_tuple__202);
21923  __Pyx_GIVEREF(__pyx_tuple__202);
21924  __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__202, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 818, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21925 
21926  /* "espressomd/interactions.pyx":823
21927  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
21928  *
21929  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
21930  * overlapped_bonded_set_params(
21931  * self._bondId, self._params["overlap_type"], self._params["filename"])
21932  */
21933  __pyx_tuple__204 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21934  __Pyx_GOTREF(__pyx_tuple__204);
21935  __Pyx_GIVEREF(__pyx_tuple__204);
21936  __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__204, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21937 
21938  /* "espressomd/interactions.pyx":834
21939  * class Angle_Harmonic(BondedInteraction):
21940  *
21941  * def typeNumber(self): # <<<<<<<<<<<<<<
21942  * return 13
21943  *
21944  */
21945  __pyx_tuple__206 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21946  __Pyx_GOTREF(__pyx_tuple__206);
21947  __Pyx_GIVEREF(__pyx_tuple__206);
21948  __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 834, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21949 
21950  /* "espressomd/interactions.pyx":837
21951  * return 13
21952  *
21953  * def typeName(self): # <<<<<<<<<<<<<<
21954  * return "ANGLE_HARMONIC"
21955  *
21956  */
21957  __pyx_tuple__208 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21958  __Pyx_GOTREF(__pyx_tuple__208);
21959  __Pyx_GIVEREF(__pyx_tuple__208);
21960  __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21961 
21962  /* "espressomd/interactions.pyx":840
21963  * return "ANGLE_HARMONIC"
21964  *
21965  * def validKeys(self): # <<<<<<<<<<<<<<
21966  * return "bend", "phi0"
21967  *
21968  */
21969  __pyx_tuple__210 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21970  __Pyx_GOTREF(__pyx_tuple__210);
21971  __Pyx_GIVEREF(__pyx_tuple__210);
21972  __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 840, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21973 
21974  /* "espressomd/interactions.pyx":843
21975  * return "bend", "phi0"
21976  *
21977  * def requiredKeys(self): # <<<<<<<<<<<<<<
21978  * return "bend", "phi0"
21979  *
21980  */
21981  __pyx_tuple__212 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21982  __Pyx_GOTREF(__pyx_tuple__212);
21983  __Pyx_GIVEREF(__pyx_tuple__212);
21984  __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21985 
21986  /* "espressomd/interactions.pyx":846
21987  * return "bend", "phi0"
21988  *
21989  * def setDefaultParams(self): # <<<<<<<<<<<<<<
21990  * self._params = {"bend": 0, "phi0": 0}
21991  *
21992  */
21993  __pyx_tuple__214 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__214)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21994  __Pyx_GOTREF(__pyx_tuple__214);
21995  __Pyx_GIVEREF(__pyx_tuple__214);
21996  __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
21997 
21998  /* "espressomd/interactions.pyx":849
21999  * self._params = {"bend": 0, "phi0": 0}
22000  *
22001  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22002  * return \
22003  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
22004  */
22005  __pyx_tuple__216 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__216)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22006  __Pyx_GOTREF(__pyx_tuple__216);
22007  __Pyx_GIVEREF(__pyx_tuple__216);
22008  __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__216, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22009 
22010  /* "espressomd/interactions.pyx":854
22011  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
22012  *
22013  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22014  * angle_harmonic_set_params(
22015  * self._bondId, self._params["bend"], self._params["phi0"])
22016  */
22017  __pyx_tuple__218 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__218)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22018  __Pyx_GOTREF(__pyx_tuple__218);
22019  __Pyx_GIVEREF(__pyx_tuple__218);
22020  __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__218, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22021 
22022  /* "espressomd/interactions.pyx":864
22023  * class Angle_Cosine(BondedInteraction):
22024  *
22025  * def typeNumber(self): # <<<<<<<<<<<<<<
22026  * return 14
22027  *
22028  */
22029  __pyx_tuple__220 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__220)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22030  __Pyx_GOTREF(__pyx_tuple__220);
22031  __Pyx_GIVEREF(__pyx_tuple__220);
22032  __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 864, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22033 
22034  /* "espressomd/interactions.pyx":867
22035  * return 14
22036  *
22037  * def typeName(self): # <<<<<<<<<<<<<<
22038  * return "ANGLE_COSINE"
22039  *
22040  */
22041  __pyx_tuple__222 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__222)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22042  __Pyx_GOTREF(__pyx_tuple__222);
22043  __Pyx_GIVEREF(__pyx_tuple__222);
22044  __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__222, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22045 
22046  /* "espressomd/interactions.pyx":870
22047  * return "ANGLE_COSINE"
22048  *
22049  * def validKeys(self): # <<<<<<<<<<<<<<
22050  * return "bend", "phi0"
22051  *
22052  */
22053  __pyx_tuple__224 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__224)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22054  __Pyx_GOTREF(__pyx_tuple__224);
22055  __Pyx_GIVEREF(__pyx_tuple__224);
22056  __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22057 
22058  /* "espressomd/interactions.pyx":873
22059  * return "bend", "phi0"
22060  *
22061  * def requiredKeys(self): # <<<<<<<<<<<<<<
22062  * return "bend", "phi0"
22063  *
22064  */
22065  __pyx_tuple__226 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__226)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22066  __Pyx_GOTREF(__pyx_tuple__226);
22067  __Pyx_GIVEREF(__pyx_tuple__226);
22068  __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 873, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22069 
22070  /* "espressomd/interactions.pyx":876
22071  * return "bend", "phi0"
22072  *
22073  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22074  * self._params = {"bend": 0, "phi0": 0}
22075  *
22076  */
22077  __pyx_tuple__228 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__228)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22078  __Pyx_GOTREF(__pyx_tuple__228);
22079  __Pyx_GIVEREF(__pyx_tuple__228);
22080  __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22081 
22082  /* "espressomd/interactions.pyx":879
22083  * self._params = {"bend": 0, "phi0": 0}
22084  *
22085  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22086  * return \
22087  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
22088  */
22089  __pyx_tuple__230 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__230)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22090  __Pyx_GOTREF(__pyx_tuple__230);
22091  __Pyx_GIVEREF(__pyx_tuple__230);
22092  __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22093 
22094  /* "espressomd/interactions.pyx":884
22095  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
22096  *
22097  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22098  * angle_cosine_set_params(
22099  * self._bondId, self._params["bend"], self._params["phi0"])
22100  */
22101  __pyx_tuple__232 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__232)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22102  __Pyx_GOTREF(__pyx_tuple__232);
22103  __Pyx_GIVEREF(__pyx_tuple__232);
22104  __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 884, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22105 
22106  /* "espressomd/interactions.pyx":894
22107  * class Angle_Cossquare(BondedInteraction):
22108  *
22109  * def typeNumber(self): # <<<<<<<<<<<<<<
22110  * return 15
22111  *
22112  */
22113  __pyx_tuple__234 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__234)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22114  __Pyx_GOTREF(__pyx_tuple__234);
22115  __Pyx_GIVEREF(__pyx_tuple__234);
22116  __pyx_codeobj__235 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__234, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 894, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__235)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22117 
22118  /* "espressomd/interactions.pyx":897
22119  * return 15
22120  *
22121  * def typeName(self): # <<<<<<<<<<<<<<
22122  * return "ANGLE_COSSQUARE"
22123  *
22124  */
22125  __pyx_tuple__236 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__236)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22126  __Pyx_GOTREF(__pyx_tuple__236);
22127  __Pyx_GIVEREF(__pyx_tuple__236);
22128  __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22129 
22130  /* "espressomd/interactions.pyx":900
22131  * return "ANGLE_COSSQUARE"
22132  *
22133  * def validKeys(self): # <<<<<<<<<<<<<<
22134  * return "bend", "phi0"
22135  *
22136  */
22137  __pyx_tuple__238 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__238)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22138  __Pyx_GOTREF(__pyx_tuple__238);
22139  __Pyx_GIVEREF(__pyx_tuple__238);
22140  __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 900, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22141 
22142  /* "espressomd/interactions.pyx":903
22143  * return "bend", "phi0"
22144  *
22145  * def requiredKeys(self): # <<<<<<<<<<<<<<
22146  * return "bend", "phi0"
22147  *
22148  */
22149  __pyx_tuple__240 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__240)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22150  __Pyx_GOTREF(__pyx_tuple__240);
22151  __Pyx_GIVEREF(__pyx_tuple__240);
22152  __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22153 
22154  /* "espressomd/interactions.pyx":906
22155  * return "bend", "phi0"
22156  *
22157  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22158  * self._params = {"bend": 0, "phi0": 0}
22159  *
22160  */
22161  __pyx_tuple__242 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__242)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22162  __Pyx_GOTREF(__pyx_tuple__242);
22163  __Pyx_GIVEREF(__pyx_tuple__242);
22164  __pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__242, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22165 
22166  /* "espressomd/interactions.pyx":909
22167  * self._params = {"bend": 0, "phi0": 0}
22168  *
22169  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22170  * return \
22171  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
22172  */
22173  __pyx_tuple__244 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__244)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22174  __Pyx_GOTREF(__pyx_tuple__244);
22175  __Pyx_GIVEREF(__pyx_tuple__244);
22176  __pyx_codeobj__245 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__244, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__245)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22177 
22178  /* "espressomd/interactions.pyx":914
22179  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
22180  *
22181  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22182  * angle_cossquare_set_params(
22183  * self._bondId, self._params["bend"], self._params["phi0"])
22184  */
22185  __pyx_tuple__246 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__246)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22186  __Pyx_GOTREF(__pyx_tuple__246);
22187  __Pyx_GIVEREF(__pyx_tuple__246);
22188  __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__246, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22189 
22190  /* "espressomd/interactions.pyx":924
22191  * class Stretching_Force(BondedInteraction):
22192  *
22193  * def typeNumber(self): # <<<<<<<<<<<<<<
22194  * return 16
22195  *
22196  */
22197  __pyx_tuple__248 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__248)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22198  __Pyx_GOTREF(__pyx_tuple__248);
22199  __Pyx_GIVEREF(__pyx_tuple__248);
22200  __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__248, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 924, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22201 
22202  /* "espressomd/interactions.pyx":927
22203  * return 16
22204  *
22205  * def typeName(self): # <<<<<<<<<<<<<<
22206  * return "STRETCHING_FORCE"
22207  *
22208  */
22209  __pyx_tuple__250 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__250)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22210  __Pyx_GOTREF(__pyx_tuple__250);
22211  __Pyx_GIVEREF(__pyx_tuple__250);
22212  __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__250, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22213 
22214  /* "espressomd/interactions.pyx":930
22215  * return "STRETCHING_FORCE"
22216  *
22217  * def validKeys(self): # <<<<<<<<<<<<<<
22218  * return "r0", "ks"
22219  *
22220  */
22221  __pyx_tuple__252 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__252)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22222  __Pyx_GOTREF(__pyx_tuple__252);
22223  __Pyx_GIVEREF(__pyx_tuple__252);
22224  __pyx_codeobj__253 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__252, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__253)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22225 
22226  /* "espressomd/interactions.pyx":933
22227  * return "r0", "ks"
22228  *
22229  * def requiredKeys(self): # <<<<<<<<<<<<<<
22230  * return "r0", "ks"
22231  *
22232  */
22233  __pyx_tuple__254 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__254)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22234  __Pyx_GOTREF(__pyx_tuple__254);
22235  __Pyx_GIVEREF(__pyx_tuple__254);
22236  __pyx_codeobj__255 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__254, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__255)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22237 
22238  /* "espressomd/interactions.pyx":936
22239  * return "r0", "ks"
22240  *
22241  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22242  * self._params = {"r0": 1., "ks": 0}
22243  *
22244  */
22245  __pyx_tuple__256 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__256)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22246  __Pyx_GOTREF(__pyx_tuple__256);
22247  __Pyx_GIVEREF(__pyx_tuple__256);
22248  __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__256, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22249 
22250  /* "espressomd/interactions.pyx":939
22251  * self._params = {"r0": 1., "ks": 0}
22252  *
22253  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22254  * return \
22255  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
22256  */
22257  __pyx_tuple__258 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__258)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22258  __Pyx_GOTREF(__pyx_tuple__258);
22259  __Pyx_GIVEREF(__pyx_tuple__258);
22260  __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 939, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22261 
22262  /* "espressomd/interactions.pyx":944
22263  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
22264  *
22265  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22266  * stretching_force_set_params(
22267  * self._bondId, self._params["r0"], self._params["ks"])
22268  */
22269  __pyx_tuple__260 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__260)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22270  __Pyx_GOTREF(__pyx_tuple__260);
22271  __Pyx_GIVEREF(__pyx_tuple__260);
22272  __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 944, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22273 
22274  /* "espressomd/interactions.pyx":951
22275  * class Area_Force_Local(BondedInteraction):
22276  *
22277  * def typeNumber(self): # <<<<<<<<<<<<<<
22278  * return 17
22279  *
22280  */
22281  __pyx_tuple__262 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__262)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22282  __Pyx_GOTREF(__pyx_tuple__262);
22283  __Pyx_GIVEREF(__pyx_tuple__262);
22284  __pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__262, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 951, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22285 
22286  /* "espressomd/interactions.pyx":954
22287  * return 17
22288  *
22289  * def typeName(self): # <<<<<<<<<<<<<<
22290  * return "AREA_FORCE_LOCAL"
22291  *
22292  */
22293  __pyx_tuple__264 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__264)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22294  __Pyx_GOTREF(__pyx_tuple__264);
22295  __Pyx_GIVEREF(__pyx_tuple__264);
22296  __pyx_codeobj__265 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 954, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__265)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22297 
22298  /* "espressomd/interactions.pyx":957
22299  * return "AREA_FORCE_LOCAL"
22300  *
22301  * def validKeys(self): # <<<<<<<<<<<<<<
22302  * return "A0_l", "ka_l"
22303  *
22304  */
22305  __pyx_tuple__266 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__266)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22306  __Pyx_GOTREF(__pyx_tuple__266);
22307  __Pyx_GIVEREF(__pyx_tuple__266);
22308  __pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__266, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 957, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__267)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22309 
22310  /* "espressomd/interactions.pyx":960
22311  * return "A0_l", "ka_l"
22312  *
22313  * def requiredKeys(self): # <<<<<<<<<<<<<<
22314  * return "A0_l", "ka_l"
22315  *
22316  */
22317  __pyx_tuple__268 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__268)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22318  __Pyx_GOTREF(__pyx_tuple__268);
22319  __Pyx_GIVEREF(__pyx_tuple__268);
22320  __pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__268, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 960, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22321 
22322  /* "espressomd/interactions.pyx":963
22323  * return "A0_l", "ka_l"
22324  *
22325  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22326  * self._params = {"A0_l": 1., "ka_l": 0}
22327  *
22328  */
22329  __pyx_tuple__270 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__270)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22330  __Pyx_GOTREF(__pyx_tuple__270);
22331  __Pyx_GIVEREF(__pyx_tuple__270);
22332  __pyx_codeobj__271 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__270, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__271)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22333 
22334  /* "espressomd/interactions.pyx":966
22335  * self._params = {"A0_l": 1., "ka_l": 0}
22336  *
22337  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22338  * return \
22339  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
22340  */
22341  __pyx_tuple__272 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__272)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22342  __Pyx_GOTREF(__pyx_tuple__272);
22343  __Pyx_GIVEREF(__pyx_tuple__272);
22344  __pyx_codeobj__273 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__272, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__273)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22345 
22346  /* "espressomd/interactions.pyx":971
22347  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
22348  *
22349  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22350  * area_force_local_set_params(
22351  * self._bondId, self._params["A0_l"], self._params["ka_l"])
22352  */
22353  __pyx_tuple__274 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__274)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22354  __Pyx_GOTREF(__pyx_tuple__274);
22355  __Pyx_GIVEREF(__pyx_tuple__274);
22356  __pyx_codeobj__275 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__274, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 971, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__275)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22357 
22358  /* "espressomd/interactions.pyx":978
22359  * class Bending_Force(BondedInteraction):
22360  *
22361  * def typeNumber(self): # <<<<<<<<<<<<<<
22362  * return 18
22363  *
22364  */
22365  __pyx_tuple__276 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__276)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22366  __Pyx_GOTREF(__pyx_tuple__276);
22367  __Pyx_GIVEREF(__pyx_tuple__276);
22368  __pyx_codeobj__277 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__276, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 978, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__277)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22369 
22370  /* "espressomd/interactions.pyx":981
22371  * return 18
22372  *
22373  * def typeName(self): # <<<<<<<<<<<<<<
22374  * return "BENDING_FORCE"
22375  *
22376  */
22377  __pyx_tuple__278 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__278)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22378  __Pyx_GOTREF(__pyx_tuple__278);
22379  __Pyx_GIVEREF(__pyx_tuple__278);
22380  __pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__278, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 981, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22381 
22382  /* "espressomd/interactions.pyx":984
22383  * return "BENDING_FORCE"
22384  *
22385  * def validKeys(self): # <<<<<<<<<<<<<<
22386  * return "phi0", "kb"
22387  *
22388  */
22389  __pyx_tuple__280 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__280)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22390  __Pyx_GOTREF(__pyx_tuple__280);
22391  __Pyx_GIVEREF(__pyx_tuple__280);
22392  __pyx_codeobj__281 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__280, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 984, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22393 
22394  /* "espressomd/interactions.pyx":987
22395  * return "phi0", "kb"
22396  *
22397  * def requiredKeys(self): # <<<<<<<<<<<<<<
22398  * return "phi0", "kb"
22399  *
22400  */
22401  __pyx_tuple__282 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__282)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22402  __Pyx_GOTREF(__pyx_tuple__282);
22403  __Pyx_GIVEREF(__pyx_tuple__282);
22404  __pyx_codeobj__283 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__282, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 987, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__283)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22405 
22406  /* "espressomd/interactions.pyx":990
22407  * return "phi0", "kb"
22408  *
22409  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22410  * self._params = {"phi0": 1., "kb": 0}
22411  *
22412  */
22413  __pyx_tuple__284 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__284)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22414  __Pyx_GOTREF(__pyx_tuple__284);
22415  __Pyx_GIVEREF(__pyx_tuple__284);
22416  __pyx_codeobj__285 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__284, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__285)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22417 
22418  /* "espressomd/interactions.pyx":993
22419  * self._params = {"phi0": 1., "kb": 0}
22420  *
22421  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22422  * return \
22423  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
22424  */
22425  __pyx_tuple__286 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__286)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22426  __Pyx_GOTREF(__pyx_tuple__286);
22427  __Pyx_GIVEREF(__pyx_tuple__286);
22428  __pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__286, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 993, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22429 
22430  /* "espressomd/interactions.pyx":998
22431  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
22432  *
22433  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22434  * bending_force_set_params(
22435  * self._bondId, self._params["phi0"], self._params["kb"])
22436  */
22437  __pyx_tuple__288 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__288)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22438  __Pyx_GOTREF(__pyx_tuple__288);
22439  __Pyx_GIVEREF(__pyx_tuple__288);
22440  __pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__288, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 998, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__289)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22441 
22442  /* "espressomd/interactions.pyx":1005
22443  * class Volume_Force(BondedInteraction):
22444  *
22445  * def typeNumber(self): # <<<<<<<<<<<<<<
22446  * return 19
22447  *
22448  */
22449  __pyx_tuple__290 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__290)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22450  __Pyx_GOTREF(__pyx_tuple__290);
22451  __Pyx_GIVEREF(__pyx_tuple__290);
22452  __pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__290, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 1005, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22453 
22454  /* "espressomd/interactions.pyx":1008
22455  * return 19
22456  *
22457  * def typeName(self): # <<<<<<<<<<<<<<
22458  * return "VOLUME_FORCE"
22459  *
22460  */
22461  __pyx_tuple__292 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__292)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22462  __Pyx_GOTREF(__pyx_tuple__292);
22463  __Pyx_GIVEREF(__pyx_tuple__292);
22464  __pyx_codeobj__293 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 1008, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__293)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22465 
22466  /* "espressomd/interactions.pyx":1011
22467  * return "VOLUME_FORCE"
22468  *
22469  * def validKeys(self): # <<<<<<<<<<<<<<
22470  * return "V0", "kv"
22471  *
22472  */
22473  __pyx_tuple__294 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__294)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22474  __Pyx_GOTREF(__pyx_tuple__294);
22475  __Pyx_GIVEREF(__pyx_tuple__294);
22476  __pyx_codeobj__295 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__294, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 1011, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__295)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22477 
22478  /* "espressomd/interactions.pyx":1014
22479  * return "V0", "kv"
22480  *
22481  * def requiredKeys(self): # <<<<<<<<<<<<<<
22482  * return "V0", "kv"
22483  *
22484  */
22485  __pyx_tuple__296 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__296)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22486  __Pyx_GOTREF(__pyx_tuple__296);
22487  __Pyx_GIVEREF(__pyx_tuple__296);
22488  __pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__296, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 1014, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__297)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22489 
22490  /* "espressomd/interactions.pyx":1017
22491  * return "V0", "kv"
22492  *
22493  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22494  * self._params = {"V0": 1., "kv": 0}
22495  *
22496  */
22497  __pyx_tuple__298 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__298)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22498  __Pyx_GOTREF(__pyx_tuple__298);
22499  __Pyx_GIVEREF(__pyx_tuple__298);
22500  __pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__298, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 1017, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22501 
22502  /* "espressomd/interactions.pyx":1020
22503  * self._params = {"V0": 1., "kv": 0}
22504  *
22505  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22506  * return \
22507  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
22508  */
22509  __pyx_tuple__300 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__300)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22510  __Pyx_GOTREF(__pyx_tuple__300);
22511  __Pyx_GIVEREF(__pyx_tuple__300);
22512  __pyx_codeobj__301 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__300, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 1020, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22513 
22514  /* "espressomd/interactions.pyx":1025
22515  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
22516  *
22517  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22518  * volume_force_set_params(
22519  * self._bondId, self._params["V0"], self._params["kv"])
22520  */
22521  __pyx_tuple__302 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__302)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22522  __Pyx_GOTREF(__pyx_tuple__302);
22523  __Pyx_GIVEREF(__pyx_tuple__302);
22524  __pyx_codeobj__303 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__302, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 1025, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__303)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22525 
22526  /* "espressomd/interactions.pyx":1032
22527  * class Area_Force_Global(BondedInteraction):
22528  *
22529  * def typeNumber(self): # <<<<<<<<<<<<<<
22530  * return 20
22531  *
22532  */
22533  __pyx_tuple__304 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__304)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22534  __Pyx_GOTREF(__pyx_tuple__304);
22535  __Pyx_GIVEREF(__pyx_tuple__304);
22536  __pyx_codeobj__305 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__304, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 1032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__305)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22537 
22538  /* "espressomd/interactions.pyx":1035
22539  * return 20
22540  *
22541  * def typeName(self): # <<<<<<<<<<<<<<
22542  * return "AREA_FORCE_GLOBAL"
22543  *
22544  */
22545  __pyx_tuple__306 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__306)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22546  __Pyx_GOTREF(__pyx_tuple__306);
22547  __Pyx_GIVEREF(__pyx_tuple__306);
22548  __pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 1035, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22549 
22550  /* "espressomd/interactions.pyx":1038
22551  * return "AREA_FORCE_GLOBAL"
22552  *
22553  * def validKeys(self): # <<<<<<<<<<<<<<
22554  * return "A0_g", "ka_g"
22555  *
22556  */
22557  __pyx_tuple__308 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__308)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22558  __Pyx_GOTREF(__pyx_tuple__308);
22559  __Pyx_GIVEREF(__pyx_tuple__308);
22560  __pyx_codeobj__309 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__308, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 1038, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__309)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22561 
22562  /* "espressomd/interactions.pyx":1041
22563  * return "A0_g", "ka_g"
22564  *
22565  * def requiredKeys(self): # <<<<<<<<<<<<<<
22566  * return "A0_g", "ka_g"
22567  *
22568  */
22569  __pyx_tuple__310 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__310)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22570  __Pyx_GOTREF(__pyx_tuple__310);
22571  __Pyx_GIVEREF(__pyx_tuple__310);
22572  __pyx_codeobj__311 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 1041, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22573 
22574  /* "espressomd/interactions.pyx":1044
22575  * return "A0_g", "ka_g"
22576  *
22577  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22578  * self._params = {"A0_g": 1., "ka_g": 0}
22579  *
22580  */
22581  __pyx_tuple__312 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__312)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22582  __Pyx_GOTREF(__pyx_tuple__312);
22583  __Pyx_GIVEREF(__pyx_tuple__312);
22584  __pyx_codeobj__313 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__312, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 1044, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__313)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22585 
22586  /* "espressomd/interactions.pyx":1047
22587  * self._params = {"A0_g": 1., "ka_g": 0}
22588  *
22589  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22590  * return \
22591  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
22592  */
22593  __pyx_tuple__314 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__314)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22594  __Pyx_GOTREF(__pyx_tuple__314);
22595  __Pyx_GIVEREF(__pyx_tuple__314);
22596  __pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 1047, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22597 
22598  /* "espressomd/interactions.pyx":1052
22599  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
22600  *
22601  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22602  * area_force_global_set_params(
22603  * self._bondId, self._params["A0_g"], self._params["ka_g"])
22604  */
22605  __pyx_tuple__316 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__316)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22606  __Pyx_GOTREF(__pyx_tuple__316);
22607  __Pyx_GIVEREF(__pyx_tuple__316);
22608  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__316, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 1052, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22609 
22610  /* "espressomd/interactions.pyx":1059
22611  * class Stretchlin_Force(BondedInteraction):
22612  *
22613  * def typeNumber(self): # <<<<<<<<<<<<<<
22614  * return 21
22615  *
22616  */
22617  __pyx_tuple__318 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__318)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22618  __Pyx_GOTREF(__pyx_tuple__318);
22619  __Pyx_GIVEREF(__pyx_tuple__318);
22620  __pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__318, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeNumber, 1059, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__319)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22621 
22622  /* "espressomd/interactions.pyx":1062
22623  * return 21
22624  *
22625  * def typeName(self): # <<<<<<<<<<<<<<
22626  * return "STRETCHLIN_FORCE"
22627  *
22628  */
22629  __pyx_tuple__320 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__320)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22630  __Pyx_GOTREF(__pyx_tuple__320);
22631  __Pyx_GIVEREF(__pyx_tuple__320);
22632  __pyx_codeobj__321 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__320, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_typeName, 1062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__321)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22633 
22634  /* "espressomd/interactions.pyx":1065
22635  * return "STRETCHLIN_FORCE"
22636  *
22637  * def validKeys(self): # <<<<<<<<<<<<<<
22638  * return "r0", "kslin"
22639  *
22640  */
22641  __pyx_tuple__322 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__322)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22642  __Pyx_GOTREF(__pyx_tuple__322);
22643  __Pyx_GIVEREF(__pyx_tuple__322);
22644  __pyx_codeobj__323 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__322, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_validKeys, 1065, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__323)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22645 
22646  /* "espressomd/interactions.pyx":1068
22647  * return "r0", "kslin"
22648  *
22649  * def requiredKeys(self): # <<<<<<<<<<<<<<
22650  * return "r0", "kslin"
22651  *
22652  */
22653  __pyx_tuple__324 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__324)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22654  __Pyx_GOTREF(__pyx_tuple__324);
22655  __Pyx_GIVEREF(__pyx_tuple__324);
22656  __pyx_codeobj__325 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__324, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_requiredKeys, 1068, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__325)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22657 
22658  /* "espressomd/interactions.pyx":1071
22659  * return "r0", "kslin"
22660  *
22661  * def setDefaultParams(self): # <<<<<<<<<<<<<<
22662  * self._params = {"r0": 1., "kslin": 0}
22663  *
22664  */
22665  __pyx_tuple__326 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__326)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22666  __Pyx_GOTREF(__pyx_tuple__326);
22667  __Pyx_GIVEREF(__pyx_tuple__326);
22668  __pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__326, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setDefaultParams, 1071, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__327)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22669 
22670  /* "espressomd/interactions.pyx":1074
22671  * self._params = {"r0": 1., "kslin": 0}
22672  *
22673  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
22674  * return \
22675  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
22676  */
22677  __pyx_tuple__328 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__328)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22678  __Pyx_GOTREF(__pyx_tuple__328);
22679  __Pyx_GIVEREF(__pyx_tuple__328);
22680  __pyx_codeobj__329 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__328, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getParamsFromEsCore, 1074, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__329)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22681 
22682  /* "espressomd/interactions.pyx":1079
22683  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
22684  *
22685  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
22686  * stretchlin_force_set_params(
22687  * self._bondId, self._params["r0"], self._params["kslin"])
22688  */
22689  __pyx_tuple__330 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__330)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22690  __Pyx_GOTREF(__pyx_tuple__330);
22691  __Pyx_GIVEREF(__pyx_tuple__330);
22692  __pyx_codeobj__331 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__330, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setParamsInEsCore, 1079, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__331)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22693 
22694  /* "espressomd/interactions.pyx":1101
22695  * BondedInteractionHandle"""
22696  *
22697  * def __getitem__(self, key): # <<<<<<<<<<<<<<
22698  * if not isinstance(key, int):
22699  * raise ValueError(
22700  */
22701  __pyx_tuple__332 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_bondType, __pyx_n_s_bondClass); if (unlikely(!__pyx_tuple__332)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22702  __Pyx_GOTREF(__pyx_tuple__332);
22703  __Pyx_GIVEREF(__pyx_tuple__332);
22704  __pyx_codeobj__333 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__332, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_getitem, 1101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__333)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22705 
22706  /* "espressomd/interactions.pyx":1123
22707  * return bondClass(key)
22708  *
22709  * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
22710  * # Validate arguments
22711  *
22712  */
22713  __pyx_tuple__334 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__334)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22714  __Pyx_GOTREF(__pyx_tuple__334);
22715  __Pyx_GIVEREF(__pyx_tuple__334);
22716  __pyx_codeobj__335 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__334, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_haozeke_Github_LabBom_espr, __pyx_n_s_setitem, 1123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__335)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22717  __Pyx_RefNannyFinishContext();
22718  return 0;
22719  __pyx_L1_error:;
22720  __Pyx_RefNannyFinishContext();
22721  return -1;
22722 }
22723 
22724 static int __Pyx_InitGlobals(void) {
22725  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
22726  __pyx_float_0_ = PyFloat_FromDouble(0.); if (unlikely(!__pyx_float_0_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22727  __pyx_float_1_ = PyFloat_FromDouble(1.); if (unlikely(!__pyx_float_1_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22728  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22729  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22730  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22731  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22732  __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22733  __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22734  __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22735  __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22736  __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22737  __pyx_int_12 = PyInt_FromLong(12); if (unlikely(!__pyx_int_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22738  __pyx_int_13 = PyInt_FromLong(13); if (unlikely(!__pyx_int_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22739  __pyx_int_14 = PyInt_FromLong(14); if (unlikely(!__pyx_int_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22740  __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22741  __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22742  __pyx_int_17 = PyInt_FromLong(17); if (unlikely(!__pyx_int_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22743  __pyx_int_18 = PyInt_FromLong(18); if (unlikely(!__pyx_int_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22744  __pyx_int_19 = PyInt_FromLong(19); if (unlikely(!__pyx_int_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22745  __pyx_int_20 = PyInt_FromLong(20); if (unlikely(!__pyx_int_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22746  __pyx_int_21 = PyInt_FromLong(21); if (unlikely(!__pyx_int_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22747  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22748  return 0;
22749  __pyx_L1_error:;
22750  return -1;
22751 }
22752 
22753 #if PY_MAJOR_VERSION < 3
22754 PyMODINIT_FUNC initinteractions(void); /*proto*/
22755 PyMODINIT_FUNC initinteractions(void)
22756 #else
22757 PyMODINIT_FUNC PyInit_interactions(void); /*proto*/
22758 PyMODINIT_FUNC PyInit_interactions(void)
22759 #endif
22760 {
22761  PyObject *__pyx_t_1 = NULL;
22762  PyObject *__pyx_t_2 = NULL;
22763  PyObject *__pyx_t_3 = NULL;
22764  PyObject *__pyx_t_4 = NULL;
22765  int __pyx_lineno = 0;
22766  const char *__pyx_filename = NULL;
22767  int __pyx_clineno = 0;
22768  __Pyx_RefNannyDeclarations
22769  #if CYTHON_REFNANNY
22770  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
22771  if (!__Pyx_RefNanny) {
22772  PyErr_Clear();
22773  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
22774  if (!__Pyx_RefNanny)
22775  Py_FatalError("failed to import 'refnanny' module");
22776  }
22777  #endif
22778  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_interactions(void)", 0);
22779  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22780  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22781  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22782  #ifdef __Pyx_CyFunction_USED
22783  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22784  #endif
22785  #ifdef __Pyx_FusedFunction_USED
22786  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22787  #endif
22788  #ifdef __Pyx_Generator_USED
22789  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22790  #endif
22791  /*--- Library function declarations ---*/
22792  /*--- Threads initialization code ---*/
22793  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
22794  #ifdef WITH_THREAD /* Python build with threading support? */
22795  PyEval_InitThreads();
22796  #endif
22797  #endif
22798  /*--- Module creation code ---*/
22799  #if PY_MAJOR_VERSION < 3
22800  __pyx_m = Py_InitModule4("interactions", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
22801  #else
22802  __pyx_m = PyModule_Create(&__pyx_moduledef);
22803  #endif
22804  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22805  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22806  Py_INCREF(__pyx_d);
22807  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22808  #if CYTHON_COMPILING_IN_PYPY
22809  Py_INCREF(__pyx_b);
22810  #endif
22811  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
22812  /*--- Initialize various global constants etc. ---*/
22813  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22814  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
22815  if (__Pyx_init_sys_getdefaultencoding_params() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22816  #endif
22817  if (__pyx_module_is_main_espressomd__interactions) {
22818  if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
22819  }
22820  #if PY_MAJOR_VERSION >= 3
22821  {
22822  PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22823  if (!PyDict_GetItemString(modules, "espressomd.interactions")) {
22824  if (unlikely(PyDict_SetItemString(modules, "espressomd.interactions", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22825  }
22826  }
22827  #endif
22828  /*--- Builtin init code ---*/
22829  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22830  /*--- Constants init code ---*/
22831  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22832  /*--- Global init code ---*/
22833  /*--- Variable export code ---*/
22834  /*--- Function export code ---*/
22835  /*--- Type init code ---*/
22836  if (PyType_Ready(&__pyx_type_10espressomd_12interactions_NonBondedInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22837  __pyx_type_10espressomd_12interactions_NonBondedInteraction.tp_print = 0;
22838  #if CYTHON_COMPILING_IN_CPYTHON
22839  {
22840  PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_10espressomd_12interactions_NonBondedInteraction, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22841  if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
22842  __pyx_wrapperbase_10espressomd_12interactions_20NonBondedInteraction___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
22843  __pyx_wrapperbase_10espressomd_12interactions_20NonBondedInteraction___init__.doc = __pyx_doc_10espressomd_12interactions_20NonBondedInteraction___init__;
22844  ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10espressomd_12interactions_20NonBondedInteraction___init__;
22845  }
22846  }
22847  #endif
22848  if (PyObject_SetAttrString(__pyx_m, "NonBondedInteraction", (PyObject *)&__pyx_type_10espressomd_12interactions_NonBondedInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22849  __pyx_ptype_10espressomd_12interactions_NonBondedInteraction = &__pyx_type_10espressomd_12interactions_NonBondedInteraction;
22850  __pyx_type_10espressomd_12interactions_LennardJonesInteraction.tp_base = __pyx_ptype_10espressomd_12interactions_NonBondedInteraction;
22851  if (PyType_Ready(&__pyx_type_10espressomd_12interactions_LennardJonesInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22852  __pyx_type_10espressomd_12interactions_LennardJonesInteraction.tp_print = 0;
22853  if (PyObject_SetAttrString(__pyx_m, "LennardJonesInteraction", (PyObject *)&__pyx_type_10espressomd_12interactions_LennardJonesInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22854  __pyx_ptype_10espressomd_12interactions_LennardJonesInteraction = &__pyx_type_10espressomd_12interactions_LennardJonesInteraction;
22855  __pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction.tp_base = __pyx_ptype_10espressomd_12interactions_NonBondedInteraction;
22856  if (PyType_Ready(&__pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22857  __pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction.tp_print = 0;
22858  if (PyObject_SetAttrString(__pyx_m, "GenericLennardJonesInteraction", (PyObject *)&__pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22859  __pyx_ptype_10espressomd_12interactions_GenericLennardJonesInteraction = &__pyx_type_10espressomd_12interactions_GenericLennardJonesInteraction;
22860  if (PyType_Ready(&__pyx_type_10espressomd_12interactions_NonBondedInteractions) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22861  __pyx_type_10espressomd_12interactions_NonBondedInteractions.tp_print = 0;
22862  if (PyObject_SetAttrString(__pyx_m, "NonBondedInteractions", (PyObject *)&__pyx_type_10espressomd_12interactions_NonBondedInteractions) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22863  __pyx_ptype_10espressomd_12interactions_NonBondedInteractions = &__pyx_type_10espressomd_12interactions_NonBondedInteractions;
22864  if (PyType_Ready(&__pyx_type_10espressomd_12interactions_BondedInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22865  __pyx_type_10espressomd_12interactions_BondedInteraction.tp_print = 0;
22866  #if CYTHON_COMPILING_IN_CPYTHON
22867  {
22868  PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_10espressomd_12interactions_BondedInteraction, "__init__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22869  if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
22870  __pyx_wrapperbase_10espressomd_12interactions_17BondedInteraction___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
22871  __pyx_wrapperbase_10espressomd_12interactions_17BondedInteraction___init__.doc = __pyx_doc_10espressomd_12interactions_17BondedInteraction___init__;
22872  ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10espressomd_12interactions_17BondedInteraction___init__;
22873  }
22874  }
22875  #endif
22876  if (PyObject_SetAttrString(__pyx_m, "BondedInteraction", (PyObject *)&__pyx_type_10espressomd_12interactions_BondedInteraction) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22877  __pyx_ptype_10espressomd_12interactions_BondedInteraction = &__pyx_type_10espressomd_12interactions_BondedInteraction;
22878  /*--- Type import code ---*/
22879  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type",
22880  #if CYTHON_COMPILING_IN_PYPY
22881  sizeof(PyTypeObject),
22882  #else
22883  sizeof(PyHeapTypeObject),
22884  #endif
22885  0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22886  __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22887  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22888  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22889  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22890  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22891  /*--- Variable import code ---*/
22892  /*--- Function import code ---*/
22893  /*--- Execution code ---*/
22894 
22895  /* "espressomd/interactions.pyx":301
22896  *
22897  *
22898  * class NonBondedInteractionHandle(object): # <<<<<<<<<<<<<<
22899  *
22900  * """Provides access to all Non-bonded interactions between
22901  */
22902  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22903  __Pyx_GOTREF(__pyx_t_1);
22904  __Pyx_INCREF(__pyx_builtin_object);
22905  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
22906  __Pyx_GIVEREF(__pyx_builtin_object);
22907  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22908  __Pyx_GOTREF(__pyx_t_2);
22909  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_NonBondedInteractionHandle, __pyx_n_s_NonBondedInteractionHandle, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, __pyx_kp_s_Provides_access_to_all_Non_bonde); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22910  __Pyx_GOTREF(__pyx_t_3);
22911 
22912  /* "espressomd/interactions.pyx":306
22913  * two particle types."""
22914  *
22915  * type1 = -1 # <<<<<<<<<<<<<<
22916  * type2 = -1
22917  *
22918  */
22919  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_type1_2, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22920 
22921  /* "espressomd/interactions.pyx":307
22922  *
22923  * type1 = -1
22924  * type2 = -1 # <<<<<<<<<<<<<<
22925  *
22926  * # Here, one line per non-bonded ia
22927  */
22928  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_type2_2, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22929 
22930  /* "espressomd/interactions.pyx":310
22931  *
22932  * # Here, one line per non-bonded ia
22933  * lennardJones = None # <<<<<<<<<<<<<<
22934  *
22935  * def __init__(self, _type1, _type2):
22936  */
22937  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_lennardJones, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22938 
22939  /* "espressomd/interactions.pyx":312
22940  * lennardJones = None
22941  *
22942  * def __init__(self, _type1, _type2): # <<<<<<<<<<<<<<
22943  * """Takes two particle types as argument"""
22944  * if not (isinstance(_type1, int) and isinstance(_type2, int)):
22945  */
22946  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_26NonBondedInteractionHandle_1__init__, 0, __pyx_n_s_NonBondedInteractionHandle___ini, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22947  __Pyx_GOTREF(__pyx_t_4);
22948  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22949  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
22950 
22951  /* "espressomd/interactions.pyx":301
22952  *
22953  *
22954  * class NonBondedInteractionHandle(object): # <<<<<<<<<<<<<<
22955  *
22956  * """Provides access to all Non-bonded interactions between
22957  */
22958  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_NonBondedInteractionHandle, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22959  __Pyx_GOTREF(__pyx_t_4);
22960  if (PyDict_SetItem(__pyx_d, __pyx_n_s_NonBondedInteractionHandle, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22961  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
22962  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22963  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22964  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22965 
22966  /* "espressomd/interactions.pyx":448
22967  *
22968  *
22969  * class BondedInteractionNotDefined(object): # <<<<<<<<<<<<<<
22970  *
22971  * def __init__(self, *args, **kwargs):
22972  */
22973  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22974  __Pyx_GOTREF(__pyx_t_1);
22975  __Pyx_INCREF(__pyx_builtin_object);
22976  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_object);
22977  __Pyx_GIVEREF(__pyx_builtin_object);
22978  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22979  __Pyx_GOTREF(__pyx_t_2);
22980  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_BondedInteractionNotDefined, __pyx_n_s_BondedInteractionNotDefined, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22981  __Pyx_GOTREF(__pyx_t_3);
22982 
22983  /* "espressomd/interactions.pyx":450
22984  * class BondedInteractionNotDefined(object):
22985  *
22986  * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<<
22987  * raise Exception(
22988  * self.__class_s__.__name__ + " not compiled into Espresso core")
22989  */
22990  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_1__init__, 0, __pyx_n_s_BondedInteractionNotDefined___in, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22991  __Pyx_GOTREF(__pyx_t_4);
22992  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
22993  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
22994 
22995  /* "espressomd/interactions.pyx":454
22996  * self.__class_s__.__name__ + " not compiled into Espresso core")
22997  *
22998  * def typeNumber(self): # <<<<<<<<<<<<<<
22999  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23000  *
23001  */
23002  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_3typeNumber, 0, __pyx_n_s_BondedInteractionNotDefined_type, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23003  __Pyx_GOTREF(__pyx_t_4);
23004  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23005  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23006 
23007  /* "espressomd/interactions.pyx":457
23008  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23009  *
23010  * def typeName(self): # <<<<<<<<<<<<<<
23011  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23012  *
23013  */
23014  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_5typeName, 0, __pyx_n_s_BondedInteractionNotDefined_type_2, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__83)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23015  __Pyx_GOTREF(__pyx_t_4);
23016  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23017  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23018 
23019  /* "espressomd/interactions.pyx":460
23020  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23021  *
23022  * def validKeys(self): # <<<<<<<<<<<<<<
23023  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23024  *
23025  */
23026  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_7validKeys, 0, __pyx_n_s_BondedInteractionNotDefined_vali, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23027  __Pyx_GOTREF(__pyx_t_4);
23028  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23029  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23030 
23031  /* "espressomd/interactions.pyx":463
23032  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23033  *
23034  * def requiredKeys(self): # <<<<<<<<<<<<<<
23035  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23036  *
23037  */
23038  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_9requiredKeys, 0, __pyx_n_s_BondedInteractionNotDefined_requ, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23039  __Pyx_GOTREF(__pyx_t_4);
23040  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23041  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23042 
23043  /* "espressomd/interactions.pyx":466
23044  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23045  *
23046  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23047  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23048  *
23049  */
23050  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_11setDefaultParams, 0, __pyx_n_s_BondedInteractionNotDefined_setD, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23051  __Pyx_GOTREF(__pyx_t_4);
23052  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23053  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23054 
23055  /* "espressomd/interactions.pyx":469
23056  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23057  *
23058  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23059  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23060  *
23061  */
23062  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_13_getParamsFromEsCore, 0, __pyx_n_s_BondedInteractionNotDefined__get, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__91)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23063  __Pyx_GOTREF(__pyx_t_4);
23064  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23065  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23066 
23067  /* "espressomd/interactions.pyx":472
23068  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23069  *
23070  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23071  * raise Exception(("%s has to be defined in myconfig.hpp.") % self.name)
23072  *
23073  */
23074  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27BondedInteractionNotDefined_15_setParamsInEsCore, 0, __pyx_n_s_BondedInteractionNotDefined__set, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__93)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23075  __Pyx_GOTREF(__pyx_t_4);
23076  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23077  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23078 
23079  /* "espressomd/interactions.pyx":448
23080  *
23081  *
23082  * class BondedInteractionNotDefined(object): # <<<<<<<<<<<<<<
23083  *
23084  * def __init__(self, *args, **kwargs):
23085  */
23086  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_BondedInteractionNotDefined, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23087  __Pyx_GOTREF(__pyx_t_4);
23088  if (PyDict_SetItem(__pyx_d, __pyx_n_s_BondedInteractionNotDefined, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23089  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23090  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23091  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23092  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23093 
23094  /* "espressomd/interactions.pyx":476
23095  *
23096  *
23097  * class FeneBond(BondedInteraction): # <<<<<<<<<<<<<<
23098  *
23099  * def typeNumber(self):
23100  */
23101  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23102  __Pyx_GOTREF(__pyx_t_1);
23103  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23104  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23105  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23106  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23107  __Pyx_GOTREF(__pyx_t_2);
23108  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_FeneBond, __pyx_n_s_FeneBond, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23109  __Pyx_GOTREF(__pyx_t_3);
23110 
23111  /* "espressomd/interactions.pyx":478
23112  * class FeneBond(BondedInteraction):
23113  *
23114  * def typeNumber(self): # <<<<<<<<<<<<<<
23115  * return 0
23116  *
23117  */
23118  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_1typeNumber, 0, __pyx_n_s_FeneBond_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__95)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23119  __Pyx_GOTREF(__pyx_t_4);
23120  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23121  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23122 
23123  /* "espressomd/interactions.pyx":481
23124  * return 0
23125  *
23126  * def typeName(self): # <<<<<<<<<<<<<<
23127  * return "FENE"
23128  *
23129  */
23130  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_3typeName, 0, __pyx_n_s_FeneBond_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__97)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23131  __Pyx_GOTREF(__pyx_t_4);
23132  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23133  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23134 
23135  /* "espressomd/interactions.pyx":484
23136  * return "FENE"
23137  *
23138  * def validKeys(self): # <<<<<<<<<<<<<<
23139  * return "k", "d_r_max", "r_0"
23140  *
23141  */
23142  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_5validKeys, 0, __pyx_n_s_FeneBond_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__99)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23143  __Pyx_GOTREF(__pyx_t_4);
23144  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23145  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23146 
23147  /* "espressomd/interactions.pyx":487
23148  * return "k", "d_r_max", "r_0"
23149  *
23150  * def requiredKeys(self): # <<<<<<<<<<<<<<
23151  * return "k", "d_r_max"
23152  *
23153  */
23154  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_7requiredKeys, 0, __pyx_n_s_FeneBond_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__101)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23155  __Pyx_GOTREF(__pyx_t_4);
23156  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23157  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23158 
23159  /* "espressomd/interactions.pyx":490
23160  * return "k", "d_r_max"
23161  *
23162  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23163  * self._params = {"r_0": 0.}
23164  * # Everything else has to be supplied by the user, anyway
23165  */
23166  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_9setDefaultParams, 0, __pyx_n_s_FeneBond_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__103)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23167  __Pyx_GOTREF(__pyx_t_4);
23168  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23169  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23170 
23171  /* "espressomd/interactions.pyx":494
23172  * # Everything else has to be supplied by the user, anyway
23173  *
23174  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23175  * return \
23176  * {"k": bonded_ia_params[self._bondId].p.fene.k,
23177  */
23178  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_11_getParamsFromEsCore, 0, __pyx_n_s_FeneBond__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__105)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23179  __Pyx_GOTREF(__pyx_t_4);
23180  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23181  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23182 
23183  /* "espressomd/interactions.pyx":500
23184  * "r_0": bonded_ia_params[self._bondId].p.fene.r0}
23185  *
23186  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23187  * fene_set_params(
23188  * self._bondId, self._params["k"], self._params["d_r_max"], self._params["r_0"])
23189  */
23190  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8FeneBond_13_setParamsInEsCore, 0, __pyx_n_s_FeneBond__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23191  __Pyx_GOTREF(__pyx_t_4);
23192  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23193  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23194 
23195  /* "espressomd/interactions.pyx":476
23196  *
23197  *
23198  * class FeneBond(BondedInteraction): # <<<<<<<<<<<<<<
23199  *
23200  * def typeNumber(self):
23201  */
23202  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_FeneBond, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23203  __Pyx_GOTREF(__pyx_t_4);
23204  if (PyDict_SetItem(__pyx_d, __pyx_n_s_FeneBond, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23205  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23206  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23207  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23208  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23209 
23210  /* "espressomd/interactions.pyx":505
23211  *
23212  *
23213  * class HarmonicBond(BondedInteraction): # <<<<<<<<<<<<<<
23214  *
23215  * def typeNumber(self):
23216  */
23217  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23218  __Pyx_GOTREF(__pyx_t_1);
23219  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23220  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23221  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23222  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23223  __Pyx_GOTREF(__pyx_t_2);
23224  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_HarmonicBond, __pyx_n_s_HarmonicBond, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23225  __Pyx_GOTREF(__pyx_t_3);
23226 
23227  /* "espressomd/interactions.pyx":507
23228  * class HarmonicBond(BondedInteraction):
23229  *
23230  * def typeNumber(self): # <<<<<<<<<<<<<<
23231  * return 1
23232  *
23233  */
23234  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_1typeNumber, 0, __pyx_n_s_HarmonicBond_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23235  __Pyx_GOTREF(__pyx_t_4);
23236  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23237  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23238 
23239  /* "espressomd/interactions.pyx":510
23240  * return 1
23241  *
23242  * def typeName(self): # <<<<<<<<<<<<<<
23243  * return "HARMONIC"
23244  *
23245  */
23246  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_3typeName, 0, __pyx_n_s_HarmonicBond_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23247  __Pyx_GOTREF(__pyx_t_4);
23248  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23249  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23250 
23251  /* "espressomd/interactions.pyx":513
23252  * return "HARMONIC"
23253  *
23254  * def validKeys(self): # <<<<<<<<<<<<<<
23255  * return "k", "r_0", "r_cut"
23256  *
23257  */
23258  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_5validKeys, 0, __pyx_n_s_HarmonicBond_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__113)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23259  __Pyx_GOTREF(__pyx_t_4);
23260  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23261  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23262 
23263  /* "espressomd/interactions.pyx":516
23264  * return "k", "r_0", "r_cut"
23265  *
23266  * def requiredKeys(self): # <<<<<<<<<<<<<<
23267  * return "k", "r_0"
23268  *
23269  */
23270  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_7requiredKeys, 0, __pyx_n_s_HarmonicBond_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__115)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23271  __Pyx_GOTREF(__pyx_t_4);
23272  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23273  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23274 
23275  /* "espressomd/interactions.pyx":519
23276  * return "k", "r_0"
23277  *
23278  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23279  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
23280  *
23281  */
23282  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_9setDefaultParams, 0, __pyx_n_s_HarmonicBond_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__117)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23283  __Pyx_GOTREF(__pyx_t_4);
23284  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23285  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23286 
23287  /* "espressomd/interactions.pyx":522
23288  * self._params = {"k'": 0., "r_0": 0., "r_cut": 0.}
23289  *
23290  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23291  * return \
23292  * {"k": bonded_ia_params[self._bondId].p.harmonic.k,
23293  */
23294  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_11_getParamsFromEsCore, 0, __pyx_n_s_HarmonicBond__getParamsFromEsCor, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23295  __Pyx_GOTREF(__pyx_t_4);
23296  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23297  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23298 
23299  /* "espressomd/interactions.pyx":528
23300  * "r_cut": bonded_ia_params[self._bondId].p.harmonic.r_cut}
23301  *
23302  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23303  * harmonic_set_params(
23304  * self._bondId, self._params["k"], self._params["r_0"], self._params["r_cut"])
23305  */
23306  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12HarmonicBond_13_setParamsInEsCore, 0, __pyx_n_s_HarmonicBond__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23307  __Pyx_GOTREF(__pyx_t_4);
23308  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23309  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23310 
23311  /* "espressomd/interactions.pyx":505
23312  *
23313  *
23314  * class HarmonicBond(BondedInteraction): # <<<<<<<<<<<<<<
23315  *
23316  * def typeNumber(self):
23317  */
23318  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_HarmonicBond, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23319  __Pyx_GOTREF(__pyx_t_4);
23320  if (PyDict_SetItem(__pyx_d, __pyx_n_s_HarmonicBond, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23321  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23322  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23323  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23324  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23325 
23326  /* "espressomd/interactions.pyx":534
23327  *
23328  * IF ROTATION:
23329  * class HarmonicDumbbellBond(BondedInteraction): # <<<<<<<<<<<<<<
23330  *
23331  * def typeNumber(self):
23332  */
23333  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23334  __Pyx_GOTREF(__pyx_t_1);
23335  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23336  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23337  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23338  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23339  __Pyx_GOTREF(__pyx_t_2);
23340  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_HarmonicDumbbellBond, __pyx_n_s_HarmonicDumbbellBond, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23341  __Pyx_GOTREF(__pyx_t_3);
23342 
23343  /* "espressomd/interactions.pyx":536
23344  * class HarmonicDumbbellBond(BondedInteraction):
23345  *
23346  * def typeNumber(self): # <<<<<<<<<<<<<<
23347  * return 2
23348  *
23349  */
23350  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_1typeNumber, 0, __pyx_n_s_HarmonicDumbbellBond_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23351  __Pyx_GOTREF(__pyx_t_4);
23352  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23353  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23354 
23355  /* "espressomd/interactions.pyx":539
23356  * return 2
23357  *
23358  * def typeName(self): # <<<<<<<<<<<<<<
23359  * return "HARMONIC_DUMBBELL"
23360  *
23361  */
23362  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_3typeName, 0, __pyx_n_s_HarmonicDumbbellBond_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__125)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23363  __Pyx_GOTREF(__pyx_t_4);
23364  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23365  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23366 
23367  /* "espressomd/interactions.pyx":542
23368  * return "HARMONIC_DUMBBELL"
23369  *
23370  * def validKeys(self): # <<<<<<<<<<<<<<
23371  * return "k1", "k2", "r_0", "r_cut"
23372  *
23373  */
23374  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_5validKeys, 0, __pyx_n_s_HarmonicDumbbellBond_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23375  __Pyx_GOTREF(__pyx_t_4);
23376  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23377  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23378 
23379  /* "espressomd/interactions.pyx":545
23380  * return "k1", "k2", "r_0", "r_cut"
23381  *
23382  * def requiredKeys(self): # <<<<<<<<<<<<<<
23383  * return "k1", "k2", "r_0"
23384  *
23385  */
23386  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_7requiredKeys, 0, __pyx_n_s_HarmonicDumbbellBond_requiredKey, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23387  __Pyx_GOTREF(__pyx_t_4);
23388  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23389  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23390 
23391  /* "espressomd/interactions.pyx":548
23392  * return "k1", "k2", "r_0"
23393  *
23394  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23395  * self._params = {"r_cut": 0.}
23396  *
23397  */
23398  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_9setDefaultParams, 0, __pyx_n_s_HarmonicDumbbellBond_setDefaultP, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23399  __Pyx_GOTREF(__pyx_t_4);
23400  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23401  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23402 
23403  /* "espressomd/interactions.pyx":551
23404  * self._params = {"r_cut": 0.}
23405  *
23406  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23407  * return \
23408  * {"k1": bonded_ia_params[self._bondId].p.harmonic_dumbbell.k1,
23409  */
23410  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_11_getParamsFromEsCore, 0, __pyx_n_s_HarmonicDumbbellBond__getParamsF, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__133)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23411  __Pyx_GOTREF(__pyx_t_4);
23412  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23413  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23414 
23415  /* "espressomd/interactions.pyx":558
23416  * "r_cut": bonded_ia_params[self._bondId].p.harmonic_dumbbell.r_cut}
23417  *
23418  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23419  * harmonic_dumbbell_set_params(
23420  * self._bondId, self._params["k1"], self._params["k2"],
23421  */
23422  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_20HarmonicDumbbellBond_13_setParamsInEsCore, 0, __pyx_n_s_HarmonicDumbbellBond__setParamsI, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23423  __Pyx_GOTREF(__pyx_t_4);
23424  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23425  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23426 
23427  /* "espressomd/interactions.pyx":534
23428  *
23429  * IF ROTATION:
23430  * class HarmonicDumbbellBond(BondedInteraction): # <<<<<<<<<<<<<<
23431  *
23432  * def typeNumber(self):
23433  */
23434  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_HarmonicDumbbellBond, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23435  __Pyx_GOTREF(__pyx_t_4);
23436  if (PyDict_SetItem(__pyx_d, __pyx_n_s_HarmonicDumbbellBond, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23437  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23438  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23439  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23440  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23441 
23442  /* "espressomd/interactions.pyx":623
23443  * self._bondId, self._params["r"], self._params["ptol"], self._params["vtol"])
23444  * ELSE:
23445  * class RigidBond(BondedInteractionNotDefined): # <<<<<<<<<<<<<<
23446  * name = "RIGID"
23447  *
23448  */
23449  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_BondedInteractionNotDefined); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23450  __Pyx_GOTREF(__pyx_t_1);
23451  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23452  __Pyx_GOTREF(__pyx_t_2);
23453  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
23454  __Pyx_GIVEREF(__pyx_t_1);
23455  __pyx_t_1 = 0;
23456  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23457  __Pyx_GOTREF(__pyx_t_1);
23458  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_RigidBond, __pyx_n_s_RigidBond, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23459  __Pyx_GOTREF(__pyx_t_3);
23460 
23461  /* "espressomd/interactions.pyx":624
23462  * ELSE:
23463  * class RigidBond(BondedInteractionNotDefined):
23464  * name = "RIGID" # <<<<<<<<<<<<<<
23465  *
23466  *
23467  */
23468  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_name_2, __pyx_n_s_RIGID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23469 
23470  /* "espressomd/interactions.pyx":623
23471  * self._bondId, self._params["r"], self._params["ptol"], self._params["vtol"])
23472  * ELSE:
23473  * class RigidBond(BondedInteractionNotDefined): # <<<<<<<<<<<<<<
23474  * name = "RIGID"
23475  *
23476  */
23477  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_RigidBond, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23478  __Pyx_GOTREF(__pyx_t_4);
23479  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RigidBond, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23480  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23481  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23482  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23483  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23484 
23485  /* "espressomd/interactions.pyx":627
23486  *
23487  *
23488  * class Dihedral(BondedInteraction): # <<<<<<<<<<<<<<
23489  *
23490  * def typeNumber(self):
23491  */
23492  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23493  __Pyx_GOTREF(__pyx_t_2);
23494  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23495  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23496  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23497  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23498  __Pyx_GOTREF(__pyx_t_1);
23499  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_Dihedral, __pyx_n_s_Dihedral, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23500  __Pyx_GOTREF(__pyx_t_3);
23501 
23502  /* "espressomd/interactions.pyx":629
23503  * class Dihedral(BondedInteraction):
23504  *
23505  * def typeNumber(self): # <<<<<<<<<<<<<<
23506  * return 5
23507  *
23508  */
23509  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_1typeNumber, 0, __pyx_n_s_Dihedral_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23510  __Pyx_GOTREF(__pyx_t_4);
23511  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23512  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23513 
23514  /* "espressomd/interactions.pyx":632
23515  * return 5
23516  *
23517  * def typeName(self): # <<<<<<<<<<<<<<
23518  * return "DIHEDRAL"
23519  *
23520  */
23521  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_3typeName, 0, __pyx_n_s_Dihedral_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23522  __Pyx_GOTREF(__pyx_t_4);
23523  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 632; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23524  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23525 
23526  /* "espressomd/interactions.pyx":635
23527  * return "DIHEDRAL"
23528  *
23529  * def validKeys(self): # <<<<<<<<<<<<<<
23530  * return "mult", "bend", "phase"
23531  *
23532  */
23533  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_5validKeys, 0, __pyx_n_s_Dihedral_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23534  __Pyx_GOTREF(__pyx_t_4);
23535  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23536  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23537 
23538  /* "espressomd/interactions.pyx":638
23539  * return "mult", "bend", "phase"
23540  *
23541  * def requiredKeys(self): # <<<<<<<<<<<<<<
23542  * return "mult", "bend", "phase"
23543  *
23544  */
23545  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_7requiredKeys, 0, __pyx_n_s_Dihedral_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__143)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23546  __Pyx_GOTREF(__pyx_t_4);
23547  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23548  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23549 
23550  /* "espressomd/interactions.pyx":641
23551  * return "mult", "bend", "phase"
23552  *
23553  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23554  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
23555  *
23556  */
23557  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_9setDefaultParams, 0, __pyx_n_s_Dihedral_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__145)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23558  __Pyx_GOTREF(__pyx_t_4);
23559  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23560  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23561 
23562  /* "espressomd/interactions.pyx":644
23563  * self._params = {"mult'": 1., "bend": 0., "phase": 0.}
23564  *
23565  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23566  * return \
23567  * {"mult": bonded_ia_params[self._bondId].p.dihedral.mult,
23568  */
23569  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_11_getParamsFromEsCore, 0, __pyx_n_s_Dihedral__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23570  __Pyx_GOTREF(__pyx_t_4);
23571  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23572  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23573 
23574  /* "espressomd/interactions.pyx":650
23575  * "phase": bonded_ia_params[self._bondId].p.dihedral.phase}
23576  *
23577  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23578  * dihedral_set_params(
23579  * self._bondId, self._params["mult"], self._params["bend"], self._params["phase"])
23580  */
23581  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_8Dihedral_13_setParamsInEsCore, 0, __pyx_n_s_Dihedral__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23582  __Pyx_GOTREF(__pyx_t_4);
23583  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23584  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23585 
23586  /* "espressomd/interactions.pyx":627
23587  *
23588  *
23589  * class Dihedral(BondedInteraction): # <<<<<<<<<<<<<<
23590  *
23591  * def typeNumber(self):
23592  */
23593  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Dihedral, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23594  __Pyx_GOTREF(__pyx_t_4);
23595  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Dihedral, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23596  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23597  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23598  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23599  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23600 
23601  /* "espressomd/interactions.pyx":656
23602  *
23603  * IF TABULATED == 1:
23604  * class Tabulated(BondedInteraction): # <<<<<<<<<<<<<<
23605  *
23606  * def typeNumber(self):
23607  */
23608  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23609  __Pyx_GOTREF(__pyx_t_2);
23610  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23611  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23612  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23613  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23614  __Pyx_GOTREF(__pyx_t_1);
23615  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_Tabulated, __pyx_n_s_Tabulated, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23616  __Pyx_GOTREF(__pyx_t_3);
23617 
23618  /* "espressomd/interactions.pyx":658
23619  * class Tabulated(BondedInteraction):
23620  *
23621  * def typeNumber(self): # <<<<<<<<<<<<<<
23622  * return 6
23623  *
23624  */
23625  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_1typeNumber, 0, __pyx_n_s_Tabulated_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23626  __Pyx_GOTREF(__pyx_t_4);
23627  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23628  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23629 
23630  /* "espressomd/interactions.pyx":661
23631  * return 6
23632  *
23633  * def typeName(self): # <<<<<<<<<<<<<<
23634  * return "TABULATED"
23635  *
23636  */
23637  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_3typeName, 0, __pyx_n_s_Tabulated_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__153)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23638  __Pyx_GOTREF(__pyx_t_4);
23639  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23640  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23641 
23642  /* "espressomd/interactions.pyx":664
23643  * return "TABULATED"
23644  *
23645  * def validKeys(self): # <<<<<<<<<<<<<<
23646  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
23647  *
23648  */
23649  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_5validKeys, 0, __pyx_n_s_Tabulated_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__155)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23650  __Pyx_GOTREF(__pyx_t_4);
23651  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23652  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23653 
23654  /* "espressomd/interactions.pyx":667
23655  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
23656  *
23657  * def requiredKeys(self): # <<<<<<<<<<<<<<
23658  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
23659  *
23660  */
23661  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_7requiredKeys, 0, __pyx_n_s_Tabulated_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23662  __Pyx_GOTREF(__pyx_t_4);
23663  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23664  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23665 
23666  /* "espressomd/interactions.pyx":670
23667  * return "type", "filename", "npoints", "minval", "maxval", "invstepsize"
23668  *
23669  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23670  * self._params = {"type": 1, "filename": "", "npoints": 0, "minval": 0, "maxval": 1,
23671  * "invstepsize": 1}
23672  */
23673  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_9setDefaultParams, 0, __pyx_n_s_Tabulated_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23674  __Pyx_GOTREF(__pyx_t_4);
23675  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23676  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23677 
23678  /* "espressomd/interactions.pyx":674
23679  * "invstepsize": 1}
23680  *
23681  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23682  * return \
23683  * {"type": bonded_ia_params[self._bondId].p.tab.type,
23684  */
23685  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_11_getParamsFromEsCore, 0, __pyx_n_s_Tabulated__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23686  __Pyx_GOTREF(__pyx_t_4);
23687  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23688  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23689 
23690  /* "espressomd/interactions.pyx":683
23691  * "invstepsize": bonded_ia_params[self._bondId].p.tab.invstepsize}
23692  *
23693  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23694  * tabulated_bonded_set_params(
23695  * self._bondId, self._params["type"], self._params["filename"])
23696  */
23697  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9Tabulated_13_setParamsInEsCore, 0, __pyx_n_s_Tabulated__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__163)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23698  __Pyx_GOTREF(__pyx_t_4);
23699  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23700  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23701 
23702  /* "espressomd/interactions.pyx":656
23703  *
23704  * IF TABULATED == 1:
23705  * class Tabulated(BondedInteraction): # <<<<<<<<<<<<<<
23706  *
23707  * def typeNumber(self):
23708  */
23709  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Tabulated, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23710  __Pyx_GOTREF(__pyx_t_4);
23711  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Tabulated, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23712  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23713  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23714  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23715  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23716 
23717  /* "espressomd/interactions.pyx":713
23718  *
23719  *
23720  * class Subt_Lj(BondedInteraction): # <<<<<<<<<<<<<<
23721  * IF LENNARD_JONES == 1:
23722  * def typeNumber(self):
23723  */
23724  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23725  __Pyx_GOTREF(__pyx_t_2);
23726  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23727  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23728  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23729  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23730  __Pyx_GOTREF(__pyx_t_1);
23731  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_Subt_Lj, __pyx_n_s_Subt_Lj, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23732  __Pyx_GOTREF(__pyx_t_3);
23733 
23734  /* "espressomd/interactions.pyx":715
23735  * class Subt_Lj(BondedInteraction):
23736  * IF LENNARD_JONES == 1:
23737  * def typeNumber(self): # <<<<<<<<<<<<<<
23738  * return 7
23739  *
23740  */
23741  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_1typeNumber, 0, __pyx_n_s_Subt_Lj_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23742  __Pyx_GOTREF(__pyx_t_4);
23743  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23744  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23745 
23746  /* "espressomd/interactions.pyx":718
23747  * return 7
23748  *
23749  * def typeName(self): # <<<<<<<<<<<<<<
23750  * return "SUBT_LJ"
23751  *
23752  */
23753  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_3typeName, 0, __pyx_n_s_Subt_Lj_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23754  __Pyx_GOTREF(__pyx_t_4);
23755  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23756  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23757 
23758  /* "espressomd/interactions.pyx":721
23759  * return "SUBT_LJ"
23760  *
23761  * def validKeys(self): # <<<<<<<<<<<<<<
23762  * return "r", "k"
23763  *
23764  */
23765  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_5validKeys, 0, __pyx_n_s_Subt_Lj_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23766  __Pyx_GOTREF(__pyx_t_4);
23767  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23768  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23769 
23770  /* "espressomd/interactions.pyx":724
23771  * return "r", "k"
23772  *
23773  * def requiredKeys(self): # <<<<<<<<<<<<<<
23774  * return "r", "k"
23775  *
23776  */
23777  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_7requiredKeys, 0, __pyx_n_s_Subt_Lj_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23778  __Pyx_GOTREF(__pyx_t_4);
23779  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23780  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23781 
23782  /* "espressomd/interactions.pyx":727
23783  * return "r", "k"
23784  *
23785  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23786  * self._params = {"k": 0, "r": 0}
23787  *
23788  */
23789  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_9setDefaultParams, 0, __pyx_n_s_Subt_Lj_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23790  __Pyx_GOTREF(__pyx_t_4);
23791  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23792  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23793 
23794  /* "espressomd/interactions.pyx":730
23795  * self._params = {"k": 0, "r": 0}
23796  *
23797  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23798  * return \
23799  * {"k": bonded_ia_params[self._bondId].p.subt_lj.k,
23800  */
23801  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_11_getParamsFromEsCore, 0, __pyx_n_s_Subt_Lj__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23802  __Pyx_GOTREF(__pyx_t_4);
23803  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23804  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23805 
23806  /* "espressomd/interactions.pyx":735
23807  * "r": bonded_ia_params[self._bondId].p.subt_lj.r}
23808  *
23809  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23810  * subt_lj_set_params(
23811  * self._bondId, self._params["k"], self._params["r"])
23812  */
23813  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Subt_Lj_13_setParamsInEsCore, 0, __pyx_n_s_Subt_Lj__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23814  __Pyx_GOTREF(__pyx_t_4);
23815  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23816  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23817 
23818  /* "espressomd/interactions.pyx":713
23819  *
23820  *
23821  * class Subt_Lj(BondedInteraction): # <<<<<<<<<<<<<<
23822  * IF LENNARD_JONES == 1:
23823  * def typeNumber(self):
23824  */
23825  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Subt_Lj, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23826  __Pyx_GOTREF(__pyx_t_4);
23827  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Subt_Lj, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23828  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23829  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23830  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23831  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23832 
23833  /* "espressomd/interactions.pyx":740
23834  *
23835  * IF BOND_VIRTUAL == 1:
23836  * class Virtual(BondedInteraction): # <<<<<<<<<<<<<<
23837  *
23838  * def typeNumber(self):
23839  */
23840  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23841  __Pyx_GOTREF(__pyx_t_2);
23842  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23843  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23844  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
23845  __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23846  __Pyx_GOTREF(__pyx_t_1);
23847  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_Virtual, __pyx_n_s_Virtual, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23848  __Pyx_GOTREF(__pyx_t_3);
23849 
23850  /* "espressomd/interactions.pyx":742
23851  * class Virtual(BondedInteraction):
23852  *
23853  * def typeNumber(self): # <<<<<<<<<<<<<<
23854  * return 9
23855  *
23856  */
23857  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_1typeNumber, 0, __pyx_n_s_Virtual_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23858  __Pyx_GOTREF(__pyx_t_4);
23859  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23860  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23861 
23862  /* "espressomd/interactions.pyx":745
23863  * return 9
23864  *
23865  * def typeName(self): # <<<<<<<<<<<<<<
23866  * return "VIRTUAL"
23867  *
23868  */
23869  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_3typeName, 0, __pyx_n_s_Virtual_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23870  __Pyx_GOTREF(__pyx_t_4);
23871  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23872  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23873 
23874  /* "espressomd/interactions.pyx":748
23875  * return "VIRTUAL"
23876  *
23877  * def validKeys(self): # <<<<<<<<<<<<<<
23878  * return
23879  *
23880  */
23881  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_5validKeys, 0, __pyx_n_s_Virtual_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23882  __Pyx_GOTREF(__pyx_t_4);
23883  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23884  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23885 
23886  /* "espressomd/interactions.pyx":751
23887  * return
23888  *
23889  * def requiredKeys(self): # <<<<<<<<<<<<<<
23890  * return
23891  *
23892  */
23893  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_7requiredKeys, 0, __pyx_n_s_Virtual_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23894  __Pyx_GOTREF(__pyx_t_4);
23895  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23896  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23897 
23898  /* "espressomd/interactions.pyx":754
23899  * return
23900  *
23901  * def setDefaultParams(self): # <<<<<<<<<<<<<<
23902  * pass
23903  *
23904  */
23905  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_9setDefaultParams, 0, __pyx_n_s_Virtual_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23906  __Pyx_GOTREF(__pyx_t_4);
23907  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23908  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23909 
23910  /* "espressomd/interactions.pyx":757
23911  * pass
23912  *
23913  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
23914  * pass
23915  *
23916  */
23917  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_11_getParamsFromEsCore, 0, __pyx_n_s_Virtual__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23918  __Pyx_GOTREF(__pyx_t_4);
23919  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23920  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23921 
23922  /* "espressomd/interactions.pyx":760
23923  * pass
23924  *
23925  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
23926  * virtual_set_params(self._bondId)
23927  *
23928  */
23929  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7Virtual_13_setParamsInEsCore, 0, __pyx_n_s_Virtual__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23930  __Pyx_GOTREF(__pyx_t_4);
23931  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23932  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23933 
23934  /* "espressomd/interactions.pyx":740
23935  *
23936  * IF BOND_VIRTUAL == 1:
23937  * class Virtual(BondedInteraction): # <<<<<<<<<<<<<<
23938  *
23939  * def typeNumber(self):
23940  */
23941  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Virtual, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23942  __Pyx_GOTREF(__pyx_t_4);
23943  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Virtual, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23944  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23945  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23946  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23947  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23948 
23949  /* "espressomd/interactions.pyx":797
23950  *
23951  * ELSE:
23952  * class Endangledist(BondedInteractionNotDefined): # <<<<<<<<<<<<<<
23953  * name = "BOND_ENDANGLEDIST"
23954  *
23955  */
23956  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_BondedInteractionNotDefined); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23957  __Pyx_GOTREF(__pyx_t_2);
23958  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23959  __Pyx_GOTREF(__pyx_t_1);
23960  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
23961  __Pyx_GIVEREF(__pyx_t_2);
23962  __pyx_t_2 = 0;
23963  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23964  __Pyx_GOTREF(__pyx_t_2);
23965  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Endangledist, __pyx_n_s_Endangledist, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23966  __Pyx_GOTREF(__pyx_t_3);
23967 
23968  /* "espressomd/interactions.pyx":798
23969  * ELSE:
23970  * class Endangledist(BondedInteractionNotDefined):
23971  * name = "BOND_ENDANGLEDIST" # <<<<<<<<<<<<<<
23972  *
23973  * IF OVERLAPPED == 1:
23974  */
23975  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_name_2, __pyx_n_s_BOND_ENDANGLEDIST) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23976 
23977  /* "espressomd/interactions.pyx":797
23978  *
23979  * ELSE:
23980  * class Endangledist(BondedInteractionNotDefined): # <<<<<<<<<<<<<<
23981  * name = "BOND_ENDANGLEDIST"
23982  *
23983  */
23984  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Endangledist, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23985  __Pyx_GOTREF(__pyx_t_4);
23986  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Endangledist, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
23987  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23988  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23989  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23990  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23991 
23992  /* "espressomd/interactions.pyx":801
23993  *
23994  * IF OVERLAPPED == 1:
23995  * class Overlapped(BondedInteraction): # <<<<<<<<<<<<<<
23996  *
23997  * def typeNumber(self):
23998  */
23999  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24000  __Pyx_GOTREF(__pyx_t_1);
24001  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24002  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24003  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24004  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24005  __Pyx_GOTREF(__pyx_t_2);
24006  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Overlapped, __pyx_n_s_Overlapped, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24007  __Pyx_GOTREF(__pyx_t_3);
24008 
24009  /* "espressomd/interactions.pyx":803
24010  * class Overlapped(BondedInteraction):
24011  *
24012  * def typeNumber(self): # <<<<<<<<<<<<<<
24013  * return 12
24014  *
24015  */
24016  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_1typeNumber, 0, __pyx_n_s_Overlapped_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24017  __Pyx_GOTREF(__pyx_t_4);
24018  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24019  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24020 
24021  /* "espressomd/interactions.pyx":806
24022  * return 12
24023  *
24024  * def typeName(self): # <<<<<<<<<<<<<<
24025  * return "OVERLAPPED"
24026  *
24027  */
24028  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_3typeName, 0, __pyx_n_s_Overlapped_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24029  __Pyx_GOTREF(__pyx_t_4);
24030  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24031  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24032 
24033  /* "espressomd/interactions.pyx":809
24034  * return "OVERLAPPED"
24035  *
24036  * def validKeys(self): # <<<<<<<<<<<<<<
24037  * return "overlap_type", "filename"
24038  *
24039  */
24040  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_5validKeys, 0, __pyx_n_s_Overlapped_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24041  __Pyx_GOTREF(__pyx_t_4);
24042  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24043  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24044 
24045  /* "espressomd/interactions.pyx":812
24046  * return "overlap_type", "filename"
24047  *
24048  * def requiredKeys(self): # <<<<<<<<<<<<<<
24049  * return "overlap_type", "filename"
24050  *
24051  */
24052  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_7requiredKeys, 0, __pyx_n_s_Overlapped_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24053  __Pyx_GOTREF(__pyx_t_4);
24054  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24055  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24056 
24057  /* "espressomd/interactions.pyx":815
24058  * return "overlap_type", "filename"
24059  *
24060  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24061  * self._params = {"overlap_type": 0, "filename": ""}
24062  *
24063  */
24064  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_9setDefaultParams, 0, __pyx_n_s_Overlapped_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24065  __Pyx_GOTREF(__pyx_t_4);
24066  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24067  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24068 
24069  /* "espressomd/interactions.pyx":818
24070  * self._params = {"overlap_type": 0, "filename": ""}
24071  *
24072  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24073  * return \
24074  * {"bend": bonded_ia_params[self._bondId].p.overlap.type,
24075  */
24076  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_11_getParamsFromEsCore, 0, __pyx_n_s_Overlapped__getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__203)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24077  __Pyx_GOTREF(__pyx_t_4);
24078  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24079  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24080 
24081  /* "espressomd/interactions.pyx":823
24082  * "phi0": bonded_ia_params[self._bondId].p.overlap.filename}
24083  *
24084  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24085  * overlapped_bonded_set_params(
24086  * self._bondId, self._params["overlap_type"], self._params["filename"])
24087  */
24088  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_10Overlapped_13_setParamsInEsCore, 0, __pyx_n_s_Overlapped__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24089  __Pyx_GOTREF(__pyx_t_4);
24090  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24091  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24092 
24093  /* "espressomd/interactions.pyx":801
24094  *
24095  * IF OVERLAPPED == 1:
24096  * class Overlapped(BondedInteraction): # <<<<<<<<<<<<<<
24097  *
24098  * def typeNumber(self):
24099  */
24100  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Overlapped, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24101  __Pyx_GOTREF(__pyx_t_4);
24102  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Overlapped, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24103  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24104  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24105  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24106  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24107 
24108  /* "espressomd/interactions.pyx":832
24109  *
24110  * IF BOND_ANGLE == 1:
24111  * class Angle_Harmonic(BondedInteraction): # <<<<<<<<<<<<<<
24112  *
24113  * def typeNumber(self):
24114  */
24115  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24116  __Pyx_GOTREF(__pyx_t_1);
24117  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24118  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24119  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24120  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24121  __Pyx_GOTREF(__pyx_t_2);
24122  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Angle_Harmonic, __pyx_n_s_Angle_Harmonic, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24123  __Pyx_GOTREF(__pyx_t_3);
24124 
24125  /* "espressomd/interactions.pyx":834
24126  * class Angle_Harmonic(BondedInteraction):
24127  *
24128  * def typeNumber(self): # <<<<<<<<<<<<<<
24129  * return 13
24130  *
24131  */
24132  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_14Angle_Harmonic_1typeNumber, 0, __pyx_n_s_Angle_Harmonic_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24133  __Pyx_GOTREF(__pyx_t_4);
24134  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24135  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24136 
24137  /* "espressomd/interactions.pyx":832
24138  *
24139  * IF BOND_ANGLE == 1:
24140  * class Angle_Harmonic(BondedInteraction): # <<<<<<<<<<<<<<
24141  *
24142  * def typeNumber(self):
24143  */
24144  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Angle_Harmonic, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24145  __Pyx_GOTREF(__pyx_t_4);
24146  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Angle_Harmonic, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24147  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24148  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24149  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24150  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24151 
24152  /* "espressomd/interactions.pyx":837
24153  * return 13
24154  *
24155  * def typeName(self): # <<<<<<<<<<<<<<
24156  * return "ANGLE_HARMONIC"
24157  *
24158  */
24159  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_1typeName, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24160  __Pyx_GOTREF(__pyx_t_1);
24161  if (PyDict_SetItem(__pyx_d, __pyx_n_s_typeName, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24162  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24163 
24164  /* "espressomd/interactions.pyx":840
24165  * return "ANGLE_HARMONIC"
24166  *
24167  * def validKeys(self): # <<<<<<<<<<<<<<
24168  * return "bend", "phi0"
24169  *
24170  */
24171  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_3validKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24172  __Pyx_GOTREF(__pyx_t_1);
24173  if (PyDict_SetItem(__pyx_d, __pyx_n_s_validKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24174  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24175 
24176  /* "espressomd/interactions.pyx":843
24177  * return "bend", "phi0"
24178  *
24179  * def requiredKeys(self): # <<<<<<<<<<<<<<
24180  * return "bend", "phi0"
24181  *
24182  */
24183  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_5requiredKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24184  __Pyx_GOTREF(__pyx_t_1);
24185  if (PyDict_SetItem(__pyx_d, __pyx_n_s_requiredKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24186  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24187 
24188  /* "espressomd/interactions.pyx":846
24189  * return "bend", "phi0"
24190  *
24191  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24192  * self._params = {"bend": 0, "phi0": 0}
24193  *
24194  */
24195  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_7setDefaultParams, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24196  __Pyx_GOTREF(__pyx_t_1);
24197  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setDefaultParams, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24198  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24199 
24200  /* "espressomd/interactions.pyx":849
24201  * self._params = {"bend": 0, "phi0": 0}
24202  *
24203  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24204  * return \
24205  * {"bend": bonded_ia_params[self._bondId].p.angle_harmonic.bend,
24206  */
24207  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_9_getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24208  __Pyx_GOTREF(__pyx_t_1);
24209  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getParamsFromEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24210  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24211 
24212  /* "espressomd/interactions.pyx":854
24213  * "phi0": bonded_ia_params[self._bondId].p.angle_harmonic.phi0}
24214  *
24215  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24216  * angle_harmonic_set_params(
24217  * self._bondId, self._params["bend"], self._params["phi0"])
24218  */
24219  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_11_setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24220  __Pyx_GOTREF(__pyx_t_1);
24221  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setParamsInEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24222  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24223 
24224  /* "espressomd/interactions.pyx":862
24225  *
24226  * IF BOND_ANGLE == 1:
24227  * class Angle_Cosine(BondedInteraction): # <<<<<<<<<<<<<<
24228  *
24229  * def typeNumber(self):
24230  */
24231  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24232  __Pyx_GOTREF(__pyx_t_1);
24233  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24234  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24235  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24236  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24237  __Pyx_GOTREF(__pyx_t_2);
24238  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Angle_Cosine, __pyx_n_s_Angle_Cosine, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24239  __Pyx_GOTREF(__pyx_t_3);
24240 
24241  /* "espressomd/interactions.pyx":864
24242  * class Angle_Cosine(BondedInteraction):
24243  *
24244  * def typeNumber(self): # <<<<<<<<<<<<<<
24245  * return 14
24246  *
24247  */
24248  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Angle_Cosine_1typeNumber, 0, __pyx_n_s_Angle_Cosine_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24249  __Pyx_GOTREF(__pyx_t_4);
24250  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24251  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24252 
24253  /* "espressomd/interactions.pyx":862
24254  *
24255  * IF BOND_ANGLE == 1:
24256  * class Angle_Cosine(BondedInteraction): # <<<<<<<<<<<<<<
24257  *
24258  * def typeNumber(self):
24259  */
24260  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Angle_Cosine, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24261  __Pyx_GOTREF(__pyx_t_4);
24262  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Angle_Cosine, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24263  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24264  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24265  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24266  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24267 
24268  /* "espressomd/interactions.pyx":867
24269  * return 14
24270  *
24271  * def typeName(self): # <<<<<<<<<<<<<<
24272  * return "ANGLE_COSINE"
24273  *
24274  */
24275  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13typeName, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24276  __Pyx_GOTREF(__pyx_t_1);
24277  if (PyDict_SetItem(__pyx_d, __pyx_n_s_typeName, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24278  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24279 
24280  /* "espressomd/interactions.pyx":870
24281  * return "ANGLE_COSINE"
24282  *
24283  * def validKeys(self): # <<<<<<<<<<<<<<
24284  * return "bend", "phi0"
24285  *
24286  */
24287  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_15validKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24288  __Pyx_GOTREF(__pyx_t_1);
24289  if (PyDict_SetItem(__pyx_d, __pyx_n_s_validKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24290  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24291 
24292  /* "espressomd/interactions.pyx":873
24293  * return "bend", "phi0"
24294  *
24295  * def requiredKeys(self): # <<<<<<<<<<<<<<
24296  * return "bend", "phi0"
24297  *
24298  */
24299  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17requiredKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24300  __Pyx_GOTREF(__pyx_t_1);
24301  if (PyDict_SetItem(__pyx_d, __pyx_n_s_requiredKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24302  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24303 
24304  /* "espressomd/interactions.pyx":876
24305  * return "bend", "phi0"
24306  *
24307  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24308  * self._params = {"bend": 0, "phi0": 0}
24309  *
24310  */
24311  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_19setDefaultParams, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24312  __Pyx_GOTREF(__pyx_t_1);
24313  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setDefaultParams, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24314  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24315 
24316  /* "espressomd/interactions.pyx":879
24317  * self._params = {"bend": 0, "phi0": 0}
24318  *
24319  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24320  * return \
24321  * {"bend": bonded_ia_params[self._bondId].p.angle_cosine.bend,
24322  */
24323  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_21_getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24324  __Pyx_GOTREF(__pyx_t_1);
24325  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getParamsFromEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24326  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24327 
24328  /* "espressomd/interactions.pyx":884
24329  * "phi0": bonded_ia_params[self._bondId].p.angle_cosine.phi0}
24330  *
24331  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24332  * angle_cosine_set_params(
24333  * self._bondId, self._params["bend"], self._params["phi0"])
24334  */
24335  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_23_setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24336  __Pyx_GOTREF(__pyx_t_1);
24337  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setParamsInEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24338  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24339 
24340  /* "espressomd/interactions.pyx":892
24341  *
24342  * IF BOND_ANGLE == 1:
24343  * class Angle_Cossquare(BondedInteraction): # <<<<<<<<<<<<<<
24344  *
24345  * def typeNumber(self):
24346  */
24347  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24348  __Pyx_GOTREF(__pyx_t_1);
24349  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24350  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24351  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24352  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24353  __Pyx_GOTREF(__pyx_t_2);
24354  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Angle_Cossquare, __pyx_n_s_Angle_Cossquare, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24355  __Pyx_GOTREF(__pyx_t_3);
24356 
24357  /* "espressomd/interactions.pyx":894
24358  * class Angle_Cossquare(BondedInteraction):
24359  *
24360  * def typeNumber(self): # <<<<<<<<<<<<<<
24361  * return 15
24362  *
24363  */
24364  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_15Angle_Cossquare_1typeNumber, 0, __pyx_n_s_Angle_Cossquare_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__235)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24365  __Pyx_GOTREF(__pyx_t_4);
24366  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24367  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24368 
24369  /* "espressomd/interactions.pyx":892
24370  *
24371  * IF BOND_ANGLE == 1:
24372  * class Angle_Cossquare(BondedInteraction): # <<<<<<<<<<<<<<
24373  *
24374  * def typeNumber(self):
24375  */
24376  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Angle_Cossquare, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24377  __Pyx_GOTREF(__pyx_t_4);
24378  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Angle_Cossquare, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24379  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24380  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24381  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24382  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24383 
24384  /* "espressomd/interactions.pyx":897
24385  * return 15
24386  *
24387  * def typeName(self): # <<<<<<<<<<<<<<
24388  * return "ANGLE_COSSQUARE"
24389  *
24390  */
24391  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_25typeName, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24392  __Pyx_GOTREF(__pyx_t_1);
24393  if (PyDict_SetItem(__pyx_d, __pyx_n_s_typeName, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24394  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24395 
24396  /* "espressomd/interactions.pyx":900
24397  * return "ANGLE_COSSQUARE"
24398  *
24399  * def validKeys(self): # <<<<<<<<<<<<<<
24400  * return "bend", "phi0"
24401  *
24402  */
24403  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_27validKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24404  __Pyx_GOTREF(__pyx_t_1);
24405  if (PyDict_SetItem(__pyx_d, __pyx_n_s_validKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24406  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24407 
24408  /* "espressomd/interactions.pyx":903
24409  * return "bend", "phi0"
24410  *
24411  * def requiredKeys(self): # <<<<<<<<<<<<<<
24412  * return "bend", "phi0"
24413  *
24414  */
24415  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_29requiredKeys, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24416  __Pyx_GOTREF(__pyx_t_1);
24417  if (PyDict_SetItem(__pyx_d, __pyx_n_s_requiredKeys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24418  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24419 
24420  /* "espressomd/interactions.pyx":906
24421  * return "bend", "phi0"
24422  *
24423  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24424  * self._params = {"bend": 0, "phi0": 0}
24425  *
24426  */
24427  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_31setDefaultParams, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24428  __Pyx_GOTREF(__pyx_t_1);
24429  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setDefaultParams, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24430  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24431 
24432  /* "espressomd/interactions.pyx":909
24433  * self._params = {"bend": 0, "phi0": 0}
24434  *
24435  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24436  * return \
24437  * {"bend": bonded_ia_params[self._bondId].p.angle_cossquare.bend,
24438  */
24439  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_33_getParamsFromEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24440  __Pyx_GOTREF(__pyx_t_1);
24441  if (PyDict_SetItem(__pyx_d, __pyx_n_s_getParamsFromEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24442  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24443 
24444  /* "espressomd/interactions.pyx":914
24445  * "phi0": bonded_ia_params[self._bondId].p.angle_cossquare.phi0}
24446  *
24447  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24448  * angle_cossquare_set_params(
24449  * self._bondId, self._params["bend"], self._params["phi0"])
24450  */
24451  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_35_setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24452  __Pyx_GOTREF(__pyx_t_1);
24453  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setParamsInEsCore, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24454  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24455 
24456  /* "espressomd/interactions.pyx":922
24457  *
24458  *
24459  * class Stretching_Force(BondedInteraction): # <<<<<<<<<<<<<<
24460  *
24461  * def typeNumber(self):
24462  */
24463  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24464  __Pyx_GOTREF(__pyx_t_1);
24465  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24466  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24467  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24468  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24469  __Pyx_GOTREF(__pyx_t_2);
24470  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Stretching_Force, __pyx_n_s_Stretching_Force, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24471  __Pyx_GOTREF(__pyx_t_3);
24472 
24473  /* "espressomd/interactions.pyx":924
24474  * class Stretching_Force(BondedInteraction):
24475  *
24476  * def typeNumber(self): # <<<<<<<<<<<<<<
24477  * return 16
24478  *
24479  */
24480  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_1typeNumber, 0, __pyx_n_s_Stretching_Force_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24481  __Pyx_GOTREF(__pyx_t_4);
24482  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24483  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24484 
24485  /* "espressomd/interactions.pyx":927
24486  * return 16
24487  *
24488  * def typeName(self): # <<<<<<<<<<<<<<
24489  * return "STRETCHING_FORCE"
24490  *
24491  */
24492  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_3typeName, 0, __pyx_n_s_Stretching_Force_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24493  __Pyx_GOTREF(__pyx_t_4);
24494  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24495  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24496 
24497  /* "espressomd/interactions.pyx":930
24498  * return "STRETCHING_FORCE"
24499  *
24500  * def validKeys(self): # <<<<<<<<<<<<<<
24501  * return "r0", "ks"
24502  *
24503  */
24504  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_5validKeys, 0, __pyx_n_s_Stretching_Force_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__253)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24505  __Pyx_GOTREF(__pyx_t_4);
24506  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24507  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24508 
24509  /* "espressomd/interactions.pyx":933
24510  * return "r0", "ks"
24511  *
24512  * def requiredKeys(self): # <<<<<<<<<<<<<<
24513  * return "r0", "ks"
24514  *
24515  */
24516  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_7requiredKeys, 0, __pyx_n_s_Stretching_Force_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__255)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24517  __Pyx_GOTREF(__pyx_t_4);
24518  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24519  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24520 
24521  /* "espressomd/interactions.pyx":936
24522  * return "r0", "ks"
24523  *
24524  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24525  * self._params = {"r0": 1., "ks": 0}
24526  *
24527  */
24528  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_9setDefaultParams, 0, __pyx_n_s_Stretching_Force_setDefaultParam, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24529  __Pyx_GOTREF(__pyx_t_4);
24530  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24531  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24532 
24533  /* "espressomd/interactions.pyx":939
24534  * self._params = {"r0": 1., "ks": 0}
24535  *
24536  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24537  * return \
24538  * {"r0": bonded_ia_params[self._bondId].p.stretching_force.r0,
24539  */
24540  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_11_getParamsFromEsCore, 0, __pyx_n_s_Stretching_Force__getParamsFromE, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24541  __Pyx_GOTREF(__pyx_t_4);
24542  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24543  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24544 
24545  /* "espressomd/interactions.pyx":944
24546  * "ks": bonded_ia_params[self._bondId].p.stretching_force.ks}
24547  *
24548  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24549  * stretching_force_set_params(
24550  * self._bondId, self._params["r0"], self._params["ks"])
24551  */
24552  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretching_Force_13_setParamsInEsCore, 0, __pyx_n_s_Stretching_Force__setParamsInEsC, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24553  __Pyx_GOTREF(__pyx_t_4);
24554  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24555  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24556 
24557  /* "espressomd/interactions.pyx":922
24558  *
24559  *
24560  * class Stretching_Force(BondedInteraction): # <<<<<<<<<<<<<<
24561  *
24562  * def typeNumber(self):
24563  */
24564  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Stretching_Force, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24565  __Pyx_GOTREF(__pyx_t_4);
24566  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Stretching_Force, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24567  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24568  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24569  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24570  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24571 
24572  /* "espressomd/interactions.pyx":949
24573  *
24574  *
24575  * class Area_Force_Local(BondedInteraction): # <<<<<<<<<<<<<<
24576  *
24577  * def typeNumber(self):
24578  */
24579  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24580  __Pyx_GOTREF(__pyx_t_1);
24581  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24582  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24583  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24584  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24585  __Pyx_GOTREF(__pyx_t_2);
24586  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Area_Force_Local, __pyx_n_s_Area_Force_Local, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24587  __Pyx_GOTREF(__pyx_t_3);
24588 
24589  /* "espressomd/interactions.pyx":951
24590  * class Area_Force_Local(BondedInteraction):
24591  *
24592  * def typeNumber(self): # <<<<<<<<<<<<<<
24593  * return 17
24594  *
24595  */
24596  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_1typeNumber, 0, __pyx_n_s_Area_Force_Local_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24597  __Pyx_GOTREF(__pyx_t_4);
24598  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24599  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24600 
24601  /* "espressomd/interactions.pyx":954
24602  * return 17
24603  *
24604  * def typeName(self): # <<<<<<<<<<<<<<
24605  * return "AREA_FORCE_LOCAL"
24606  *
24607  */
24608  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_3typeName, 0, __pyx_n_s_Area_Force_Local_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__265)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24609  __Pyx_GOTREF(__pyx_t_4);
24610  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24611  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24612 
24613  /* "espressomd/interactions.pyx":957
24614  * return "AREA_FORCE_LOCAL"
24615  *
24616  * def validKeys(self): # <<<<<<<<<<<<<<
24617  * return "A0_l", "ka_l"
24618  *
24619  */
24620  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_5validKeys, 0, __pyx_n_s_Area_Force_Local_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24621  __Pyx_GOTREF(__pyx_t_4);
24622  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24623  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24624 
24625  /* "espressomd/interactions.pyx":960
24626  * return "A0_l", "ka_l"
24627  *
24628  * def requiredKeys(self): # <<<<<<<<<<<<<<
24629  * return "A0_l", "ka_l"
24630  *
24631  */
24632  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_7requiredKeys, 0, __pyx_n_s_Area_Force_Local_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24633  __Pyx_GOTREF(__pyx_t_4);
24634  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24635  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24636 
24637  /* "espressomd/interactions.pyx":963
24638  * return "A0_l", "ka_l"
24639  *
24640  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24641  * self._params = {"A0_l": 1., "ka_l": 0}
24642  *
24643  */
24644  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_9setDefaultParams, 0, __pyx_n_s_Area_Force_Local_setDefaultParam, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__271)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24645  __Pyx_GOTREF(__pyx_t_4);
24646  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24647  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24648 
24649  /* "espressomd/interactions.pyx":966
24650  * self._params = {"A0_l": 1., "ka_l": 0}
24651  *
24652  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24653  * return \
24654  * {"A0_l": bonded_ia_params[self._bondId].p.area_force_local.A0_l,
24655  */
24656  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_11_getParamsFromEsCore, 0, __pyx_n_s_Area_Force_Local__getParamsFromE, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__273)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24657  __Pyx_GOTREF(__pyx_t_4);
24658  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24659  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24660 
24661  /* "espressomd/interactions.pyx":971
24662  * "ka_l": bonded_ia_params[self._bondId].p.area_force_local.ka_l}
24663  *
24664  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24665  * area_force_local_set_params(
24666  * self._bondId, self._params["A0_l"], self._params["ka_l"])
24667  */
24668  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Area_Force_Local_13_setParamsInEsCore, 0, __pyx_n_s_Area_Force_Local__setParamsInEsC, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__275)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24669  __Pyx_GOTREF(__pyx_t_4);
24670  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24671  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24672 
24673  /* "espressomd/interactions.pyx":949
24674  *
24675  *
24676  * class Area_Force_Local(BondedInteraction): # <<<<<<<<<<<<<<
24677  *
24678  * def typeNumber(self):
24679  */
24680  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Area_Force_Local, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24681  __Pyx_GOTREF(__pyx_t_4);
24682  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Area_Force_Local, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24683  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24684  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24685  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24686  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24687 
24688  /* "espressomd/interactions.pyx":976
24689  *
24690  *
24691  * class Bending_Force(BondedInteraction): # <<<<<<<<<<<<<<
24692  *
24693  * def typeNumber(self):
24694  */
24695  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24696  __Pyx_GOTREF(__pyx_t_1);
24697  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24698  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24699  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24700  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24701  __Pyx_GOTREF(__pyx_t_2);
24702  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Bending_Force, __pyx_n_s_Bending_Force, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24703  __Pyx_GOTREF(__pyx_t_3);
24704 
24705  /* "espressomd/interactions.pyx":978
24706  * class Bending_Force(BondedInteraction):
24707  *
24708  * def typeNumber(self): # <<<<<<<<<<<<<<
24709  * return 18
24710  *
24711  */
24712  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_1typeNumber, 0, __pyx_n_s_Bending_Force_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__277)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24713  __Pyx_GOTREF(__pyx_t_4);
24714  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24715  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24716 
24717  /* "espressomd/interactions.pyx":981
24718  * return 18
24719  *
24720  * def typeName(self): # <<<<<<<<<<<<<<
24721  * return "BENDING_FORCE"
24722  *
24723  */
24724  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_3typeName, 0, __pyx_n_s_Bending_Force_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24725  __Pyx_GOTREF(__pyx_t_4);
24726  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24727  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24728 
24729  /* "espressomd/interactions.pyx":984
24730  * return "BENDING_FORCE"
24731  *
24732  * def validKeys(self): # <<<<<<<<<<<<<<
24733  * return "phi0", "kb"
24734  *
24735  */
24736  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_5validKeys, 0, __pyx_n_s_Bending_Force_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__281)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24737  __Pyx_GOTREF(__pyx_t_4);
24738  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24739  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24740 
24741  /* "espressomd/interactions.pyx":987
24742  * return "phi0", "kb"
24743  *
24744  * def requiredKeys(self): # <<<<<<<<<<<<<<
24745  * return "phi0", "kb"
24746  *
24747  */
24748  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_7requiredKeys, 0, __pyx_n_s_Bending_Force_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__283)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24749  __Pyx_GOTREF(__pyx_t_4);
24750  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24751  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24752 
24753  /* "espressomd/interactions.pyx":990
24754  * return "phi0", "kb"
24755  *
24756  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24757  * self._params = {"phi0": 1., "kb": 0}
24758  *
24759  */
24760  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_9setDefaultParams, 0, __pyx_n_s_Bending_Force_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__285)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24761  __Pyx_GOTREF(__pyx_t_4);
24762  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 990; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24763  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24764 
24765  /* "espressomd/interactions.pyx":993
24766  * self._params = {"phi0": 1., "kb": 0}
24767  *
24768  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24769  * return \
24770  * {"phi0": bonded_ia_params[self._bondId].p.bending_force.phi0,
24771  */
24772  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_11_getParamsFromEsCore, 0, __pyx_n_s_Bending_Force__getParamsFromEsCo, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24773  __Pyx_GOTREF(__pyx_t_4);
24774  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 993; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24775  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24776 
24777  /* "espressomd/interactions.pyx":998
24778  * "kb": bonded_ia_params[self._bondId].p.bending_force.kb}
24779  *
24780  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24781  * bending_force_set_params(
24782  * self._bondId, self._params["phi0"], self._params["kb"])
24783  */
24784  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_13Bending_Force_13_setParamsInEsCore, 0, __pyx_n_s_Bending_Force__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24785  __Pyx_GOTREF(__pyx_t_4);
24786  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24787  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24788 
24789  /* "espressomd/interactions.pyx":976
24790  *
24791  *
24792  * class Bending_Force(BondedInteraction): # <<<<<<<<<<<<<<
24793  *
24794  * def typeNumber(self):
24795  */
24796  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Bending_Force, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24797  __Pyx_GOTREF(__pyx_t_4);
24798  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Bending_Force, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24799  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24800  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24801  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24802  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24803 
24804  /* "espressomd/interactions.pyx":1003
24805  *
24806  *
24807  * class Volume_Force(BondedInteraction): # <<<<<<<<<<<<<<
24808  *
24809  * def typeNumber(self):
24810  */
24811  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24812  __Pyx_GOTREF(__pyx_t_1);
24813  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24814  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24815  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24816  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24817  __Pyx_GOTREF(__pyx_t_2);
24818  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Volume_Force, __pyx_n_s_Volume_Force, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24819  __Pyx_GOTREF(__pyx_t_3);
24820 
24821  /* "espressomd/interactions.pyx":1005
24822  * class Volume_Force(BondedInteraction):
24823  *
24824  * def typeNumber(self): # <<<<<<<<<<<<<<
24825  * return 19
24826  *
24827  */
24828  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_1typeNumber, 0, __pyx_n_s_Volume_Force_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24829  __Pyx_GOTREF(__pyx_t_4);
24830  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24831  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24832 
24833  /* "espressomd/interactions.pyx":1008
24834  * return 19
24835  *
24836  * def typeName(self): # <<<<<<<<<<<<<<
24837  * return "VOLUME_FORCE"
24838  *
24839  */
24840  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_3typeName, 0, __pyx_n_s_Volume_Force_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__293)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24841  __Pyx_GOTREF(__pyx_t_4);
24842  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24843  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24844 
24845  /* "espressomd/interactions.pyx":1011
24846  * return "VOLUME_FORCE"
24847  *
24848  * def validKeys(self): # <<<<<<<<<<<<<<
24849  * return "V0", "kv"
24850  *
24851  */
24852  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_5validKeys, 0, __pyx_n_s_Volume_Force_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__295)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24853  __Pyx_GOTREF(__pyx_t_4);
24854  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1011; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24855  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24856 
24857  /* "espressomd/interactions.pyx":1014
24858  * return "V0", "kv"
24859  *
24860  * def requiredKeys(self): # <<<<<<<<<<<<<<
24861  * return "V0", "kv"
24862  *
24863  */
24864  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_7requiredKeys, 0, __pyx_n_s_Volume_Force_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24865  __Pyx_GOTREF(__pyx_t_4);
24866  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24867  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24868 
24869  /* "espressomd/interactions.pyx":1017
24870  * return "V0", "kv"
24871  *
24872  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24873  * self._params = {"V0": 1., "kv": 0}
24874  *
24875  */
24876  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_9setDefaultParams, 0, __pyx_n_s_Volume_Force_setDefaultParams, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24877  __Pyx_GOTREF(__pyx_t_4);
24878  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24879  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24880 
24881  /* "espressomd/interactions.pyx":1020
24882  * self._params = {"V0": 1., "kv": 0}
24883  *
24884  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
24885  * return \
24886  * {"V0": bonded_ia_params[self._bondId].p.volume_force.V0,
24887  */
24888  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_11_getParamsFromEsCore, 0, __pyx_n_s_Volume_Force__getParamsFromEsCor, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__301)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24889  __Pyx_GOTREF(__pyx_t_4);
24890  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24891  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24892 
24893  /* "espressomd/interactions.pyx":1025
24894  * "kv": bonded_ia_params[self._bondId].p.volume_force.kv}
24895  *
24896  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
24897  * volume_force_set_params(
24898  * self._bondId, self._params["V0"], self._params["kv"])
24899  */
24900  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_12Volume_Force_13_setParamsInEsCore, 0, __pyx_n_s_Volume_Force__setParamsInEsCore, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__303)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24901  __Pyx_GOTREF(__pyx_t_4);
24902  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24903  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24904 
24905  /* "espressomd/interactions.pyx":1003
24906  *
24907  *
24908  * class Volume_Force(BondedInteraction): # <<<<<<<<<<<<<<
24909  *
24910  * def typeNumber(self):
24911  */
24912  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Volume_Force, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24913  __Pyx_GOTREF(__pyx_t_4);
24914  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Volume_Force, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24915  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24916  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24917  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
24918  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24919 
24920  /* "espressomd/interactions.pyx":1030
24921  *
24922  *
24923  * class Area_Force_Global(BondedInteraction): # <<<<<<<<<<<<<<
24924  *
24925  * def typeNumber(self):
24926  */
24927  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24928  __Pyx_GOTREF(__pyx_t_1);
24929  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24930  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24931  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
24932  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24933  __Pyx_GOTREF(__pyx_t_2);
24934  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Area_Force_Global, __pyx_n_s_Area_Force_Global, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24935  __Pyx_GOTREF(__pyx_t_3);
24936 
24937  /* "espressomd/interactions.pyx":1032
24938  * class Area_Force_Global(BondedInteraction):
24939  *
24940  * def typeNumber(self): # <<<<<<<<<<<<<<
24941  * return 20
24942  *
24943  */
24944  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_1typeNumber, 0, __pyx_n_s_Area_Force_Global_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__305)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24945  __Pyx_GOTREF(__pyx_t_4);
24946  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24947  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24948 
24949  /* "espressomd/interactions.pyx":1035
24950  * return 20
24951  *
24952  * def typeName(self): # <<<<<<<<<<<<<<
24953  * return "AREA_FORCE_GLOBAL"
24954  *
24955  */
24956  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_3typeName, 0, __pyx_n_s_Area_Force_Global_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24957  __Pyx_GOTREF(__pyx_t_4);
24958  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24959  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24960 
24961  /* "espressomd/interactions.pyx":1038
24962  * return "AREA_FORCE_GLOBAL"
24963  *
24964  * def validKeys(self): # <<<<<<<<<<<<<<
24965  * return "A0_g", "ka_g"
24966  *
24967  */
24968  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_5validKeys, 0, __pyx_n_s_Area_Force_Global_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24969  __Pyx_GOTREF(__pyx_t_4);
24970  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24971  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24972 
24973  /* "espressomd/interactions.pyx":1041
24974  * return "A0_g", "ka_g"
24975  *
24976  * def requiredKeys(self): # <<<<<<<<<<<<<<
24977  * return "A0_g", "ka_g"
24978  *
24979  */
24980  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_7requiredKeys, 0, __pyx_n_s_Area_Force_Global_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24981  __Pyx_GOTREF(__pyx_t_4);
24982  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24983  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24984 
24985  /* "espressomd/interactions.pyx":1044
24986  * return "A0_g", "ka_g"
24987  *
24988  * def setDefaultParams(self): # <<<<<<<<<<<<<<
24989  * self._params = {"A0_g": 1., "ka_g": 0}
24990  *
24991  */
24992  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_9setDefaultParams, 0, __pyx_n_s_Area_Force_Global_setDefaultPara, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__313)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24993  __Pyx_GOTREF(__pyx_t_4);
24994  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
24995  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
24996 
24997  /* "espressomd/interactions.pyx":1047
24998  * self._params = {"A0_g": 1., "ka_g": 0}
24999  *
25000  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
25001  * return \
25002  * {"A0_g": bonded_ia_params[self._bondId].p.area_force_global.A0_g,
25003  */
25004  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_11_getParamsFromEsCore, 0, __pyx_n_s_Area_Force_Global__getParamsFrom, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__315)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25005  __Pyx_GOTREF(__pyx_t_4);
25006  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25007  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25008 
25009  /* "espressomd/interactions.pyx":1052
25010  * "ka_g": bonded_ia_params[self._bondId].p.area_force_global.ka_g}
25011  *
25012  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
25013  * area_force_global_set_params(
25014  * self._bondId, self._params["A0_g"], self._params["ka_g"])
25015  */
25016  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_17Area_Force_Global_13_setParamsInEsCore, 0, __pyx_n_s_Area_Force_Global__setParamsInEs, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25017  __Pyx_GOTREF(__pyx_t_4);
25018  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25019  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25020 
25021  /* "espressomd/interactions.pyx":1030
25022  *
25023  *
25024  * class Area_Force_Global(BondedInteraction): # <<<<<<<<<<<<<<
25025  *
25026  * def typeNumber(self):
25027  */
25028  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Area_Force_Global, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25029  __Pyx_GOTREF(__pyx_t_4);
25030  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Area_Force_Global, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25031  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25032  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25033  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25034  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25035 
25036  /* "espressomd/interactions.pyx":1057
25037  *
25038  *
25039  * class Stretchlin_Force(BondedInteraction): # <<<<<<<<<<<<<<
25040  *
25041  * def typeNumber(self):
25042  */
25043  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25044  __Pyx_GOTREF(__pyx_t_1);
25045  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
25046  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
25047  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_10espressomd_12interactions_BondedInteraction)));
25048  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25049  __Pyx_GOTREF(__pyx_t_2);
25050  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_Stretchlin_Force, __pyx_n_s_Stretchlin_Force, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25051  __Pyx_GOTREF(__pyx_t_3);
25052 
25053  /* "espressomd/interactions.pyx":1059
25054  * class Stretchlin_Force(BondedInteraction):
25055  *
25056  * def typeNumber(self): # <<<<<<<<<<<<<<
25057  * return 21
25058  *
25059  */
25060  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_1typeNumber, 0, __pyx_n_s_Stretchlin_Force_typeNumber, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25061  __Pyx_GOTREF(__pyx_t_4);
25062  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeNumber, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25063  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25064 
25065  /* "espressomd/interactions.pyx":1062
25066  * return 21
25067  *
25068  * def typeName(self): # <<<<<<<<<<<<<<
25069  * return "STRETCHLIN_FORCE"
25070  *
25071  */
25072  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_3typeName, 0, __pyx_n_s_Stretchlin_Force_typeName, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__321)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25073  __Pyx_GOTREF(__pyx_t_4);
25074  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_typeName, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25075  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25076 
25077  /* "espressomd/interactions.pyx":1065
25078  * return "STRETCHLIN_FORCE"
25079  *
25080  * def validKeys(self): # <<<<<<<<<<<<<<
25081  * return "r0", "kslin"
25082  *
25083  */
25084  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_5validKeys, 0, __pyx_n_s_Stretchlin_Force_validKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__323)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25085  __Pyx_GOTREF(__pyx_t_4);
25086  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_validKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25087  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25088 
25089  /* "espressomd/interactions.pyx":1068
25090  * return "r0", "kslin"
25091  *
25092  * def requiredKeys(self): # <<<<<<<<<<<<<<
25093  * return "r0", "kslin"
25094  *
25095  */
25096  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_7requiredKeys, 0, __pyx_n_s_Stretchlin_Force_requiredKeys, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__325)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25097  __Pyx_GOTREF(__pyx_t_4);
25098  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_requiredKeys, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25099  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25100 
25101  /* "espressomd/interactions.pyx":1071
25102  * return "r0", "kslin"
25103  *
25104  * def setDefaultParams(self): # <<<<<<<<<<<<<<
25105  * self._params = {"r0": 1., "kslin": 0}
25106  *
25107  */
25108  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_9setDefaultParams, 0, __pyx_n_s_Stretchlin_Force_setDefaultParam, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25109  __Pyx_GOTREF(__pyx_t_4);
25110  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setDefaultParams, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25111  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25112 
25113  /* "espressomd/interactions.pyx":1074
25114  * self._params = {"r0": 1., "kslin": 0}
25115  *
25116  * def _getParamsFromEsCore(self): # <<<<<<<<<<<<<<
25117  * return \
25118  * {"r0": bonded_ia_params[self._bondId].p.stretchlin_force.r0,
25119  */
25120  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_11_getParamsFromEsCore, 0, __pyx_n_s_Stretchlin_Force__getParamsFromE, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__329)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25121  __Pyx_GOTREF(__pyx_t_4);
25122  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_getParamsFromEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25123  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25124 
25125  /* "espressomd/interactions.pyx":1079
25126  * "kslin": bonded_ia_params[self._bondId].p.stretchlin_force.kslin}
25127  *
25128  * def _setParamsInEsCore(self): # <<<<<<<<<<<<<<
25129  * stretchlin_force_set_params(
25130  * self._bondId, self._params["r0"], self._params["kslin"])
25131  */
25132  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_16Stretchlin_Force_13_setParamsInEsCore, 0, __pyx_n_s_Stretchlin_Force__setParamsInEsC, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__331)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25133  __Pyx_GOTREF(__pyx_t_4);
25134  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_setParamsInEsCore, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25135  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25136 
25137  /* "espressomd/interactions.pyx":1057
25138  *
25139  *
25140  * class Stretchlin_Force(BondedInteraction): # <<<<<<<<<<<<<<
25141  *
25142  * def typeNumber(self):
25143  */
25144  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_Stretchlin_Force, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25145  __Pyx_GOTREF(__pyx_t_4);
25146  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Stretchlin_Force, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25147  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25148  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25149  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25150  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25151 
25152  /* "espressomd/interactions.pyx":1084
25153  *
25154  *
25155  * bondedInteractionClasses = {0: FeneBond, 1: HarmonicBond, 2: # <<<<<<<<<<<<<<
25156  * HarmonicDumbbellBond, 3: RigidBond, 5:
25157  * Dihedral, 6: Tabulated, 7: Subt_Lj, 9:
25158  */
25159  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25160  __Pyx_GOTREF(__pyx_t_1);
25161  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_FeneBond); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25162  __Pyx_GOTREF(__pyx_t_2);
25163  if (PyDict_SetItem(__pyx_t_1, __pyx_int_0, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25164  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25165  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_HarmonicBond); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25166  __Pyx_GOTREF(__pyx_t_2);
25167  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25168  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25169 
25170  /* "espressomd/interactions.pyx":1085
25171  *
25172  * bondedInteractionClasses = {0: FeneBond, 1: HarmonicBond, 2:
25173  * HarmonicDumbbellBond, 3: RigidBond, 5: # <<<<<<<<<<<<<<
25174  * Dihedral, 6: Tabulated, 7: Subt_Lj, 9:
25175  * Virtual, 11: Endangledist, 12: Overlapped,
25176  */
25177  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_HarmonicDumbbellBond); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25178  __Pyx_GOTREF(__pyx_t_2);
25179  if (PyDict_SetItem(__pyx_t_1, __pyx_int_2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25180  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25181  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_RigidBond); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25182  __Pyx_GOTREF(__pyx_t_2);
25183  if (PyDict_SetItem(__pyx_t_1, __pyx_int_3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25184  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25185 
25186  /* "espressomd/interactions.pyx":1086
25187  * bondedInteractionClasses = {0: FeneBond, 1: HarmonicBond, 2:
25188  * HarmonicDumbbellBond, 3: RigidBond, 5:
25189  * Dihedral, 6: Tabulated, 7: Subt_Lj, 9: # <<<<<<<<<<<<<<
25190  * Virtual, 11: Endangledist, 12: Overlapped,
25191  * 13: Angle_Harmonic, 14: Angle_Cosine, 15:
25192  */
25193  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Dihedral); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25194  __Pyx_GOTREF(__pyx_t_2);
25195  if (PyDict_SetItem(__pyx_t_1, __pyx_int_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25196  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25197  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Tabulated); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25198  __Pyx_GOTREF(__pyx_t_2);
25199  if (PyDict_SetItem(__pyx_t_1, __pyx_int_6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25200  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25201  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Subt_Lj); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25202  __Pyx_GOTREF(__pyx_t_2);
25203  if (PyDict_SetItem(__pyx_t_1, __pyx_int_7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25204  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25205 
25206  /* "espressomd/interactions.pyx":1087
25207  * HarmonicDumbbellBond, 3: RigidBond, 5:
25208  * Dihedral, 6: Tabulated, 7: Subt_Lj, 9:
25209  * Virtual, 11: Endangledist, 12: Overlapped, # <<<<<<<<<<<<<<
25210  * 13: Angle_Harmonic, 14: Angle_Cosine, 15:
25211  * Angle_Cossquare, 16: Stretching_Force, 17:
25212  */
25213  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Virtual); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25214  __Pyx_GOTREF(__pyx_t_2);
25215  if (PyDict_SetItem(__pyx_t_1, __pyx_int_9, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25216  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25217  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Endangledist); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25218  __Pyx_GOTREF(__pyx_t_2);
25219  if (PyDict_SetItem(__pyx_t_1, __pyx_int_11, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25220  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25221  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Overlapped); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25222  __Pyx_GOTREF(__pyx_t_2);
25223  if (PyDict_SetItem(__pyx_t_1, __pyx_int_12, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25224  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25225 
25226  /* "espressomd/interactions.pyx":1088
25227  * Dihedral, 6: Tabulated, 7: Subt_Lj, 9:
25228  * Virtual, 11: Endangledist, 12: Overlapped,
25229  * 13: Angle_Harmonic, 14: Angle_Cosine, 15: # <<<<<<<<<<<<<<
25230  * Angle_Cossquare, 16: Stretching_Force, 17:
25231  * Area_Force_Local, 18: Bending_Force, 19:
25232  */
25233  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Angle_Harmonic); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25234  __Pyx_GOTREF(__pyx_t_2);
25235  if (PyDict_SetItem(__pyx_t_1, __pyx_int_13, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25236  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25237  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Angle_Cosine); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25238  __Pyx_GOTREF(__pyx_t_2);
25239  if (PyDict_SetItem(__pyx_t_1, __pyx_int_14, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25240  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25241 
25242  /* "espressomd/interactions.pyx":1089
25243  * Virtual, 11: Endangledist, 12: Overlapped,
25244  * 13: Angle_Harmonic, 14: Angle_Cosine, 15:
25245  * Angle_Cossquare, 16: Stretching_Force, 17: # <<<<<<<<<<<<<<
25246  * Area_Force_Local, 18: Bending_Force, 19:
25247  * Volume_Force, 20: Area_Force_Global, 21:
25248  */
25249  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Angle_Cossquare); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25250  __Pyx_GOTREF(__pyx_t_2);
25251  if (PyDict_SetItem(__pyx_t_1, __pyx_int_15, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25252  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25253  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Stretching_Force); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25254  __Pyx_GOTREF(__pyx_t_2);
25255  if (PyDict_SetItem(__pyx_t_1, __pyx_int_16, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25256  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25257 
25258  /* "espressomd/interactions.pyx":1090
25259  * 13: Angle_Harmonic, 14: Angle_Cosine, 15:
25260  * Angle_Cossquare, 16: Stretching_Force, 17:
25261  * Area_Force_Local, 18: Bending_Force, 19: # <<<<<<<<<<<<<<
25262  * Volume_Force, 20: Area_Force_Global, 21:
25263  * Stretchlin_Force}
25264  */
25265  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Area_Force_Local); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25266  __Pyx_GOTREF(__pyx_t_2);
25267  if (PyDict_SetItem(__pyx_t_1, __pyx_int_17, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25268  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25269  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Bending_Force); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25270  __Pyx_GOTREF(__pyx_t_2);
25271  if (PyDict_SetItem(__pyx_t_1, __pyx_int_18, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25272  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25273 
25274  /* "espressomd/interactions.pyx":1091
25275  * Angle_Cossquare, 16: Stretching_Force, 17:
25276  * Area_Force_Local, 18: Bending_Force, 19:
25277  * Volume_Force, 20: Area_Force_Global, 21: # <<<<<<<<<<<<<<
25278  * Stretchlin_Force}
25279  *
25280  */
25281  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Volume_Force); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25282  __Pyx_GOTREF(__pyx_t_2);
25283  if (PyDict_SetItem(__pyx_t_1, __pyx_int_19, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25284  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25285  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Area_Force_Global); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25286  __Pyx_GOTREF(__pyx_t_2);
25287  if (PyDict_SetItem(__pyx_t_1, __pyx_int_20, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25288  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25289 
25290  /* "espressomd/interactions.pyx":1092
25291  * Area_Force_Local, 18: Bending_Force, 19:
25292  * Volume_Force, 20: Area_Force_Global, 21:
25293  * Stretchlin_Force} # <<<<<<<<<<<<<<
25294  *
25295  *
25296  */
25297  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_Stretchlin_Force); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1092; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25298  __Pyx_GOTREF(__pyx_t_2);
25299  if (PyDict_SetItem(__pyx_t_1, __pyx_int_21, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25300  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25301  if (PyDict_SetItem(__pyx_d, __pyx_n_s_bondedInteractionClasses, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25302  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25303 
25304  /* "espressomd/interactions.pyx":1095
25305  *
25306  *
25307  * class BondedInteractions: # <<<<<<<<<<<<<<
25308  *
25309  * """Represents the bonded interactions. Individual interactions can be accessed using
25310  */
25311  __pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_BondedInteractions, __pyx_n_s_BondedInteractions, (PyObject *) NULL, __pyx_n_s_espressomd_interactions, __pyx_kp_s_Represents_the_bonded_interactio); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25312  __Pyx_GOTREF(__pyx_t_1);
25313 
25314  /* "espressomd/interactions.pyx":1101
25315  * BondedInteractionHandle"""
25316  *
25317  * def __getitem__(self, key): # <<<<<<<<<<<<<<
25318  * if not isinstance(key, int):
25319  * raise ValueError(
25320  */
25321  __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_18BondedInteractions_1__getitem__, 0, __pyx_n_s_BondedInteractions___getitem, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__333)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25322  __Pyx_GOTREF(__pyx_t_2);
25323  if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_getitem, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25324  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25325 
25326  /* "espressomd/interactions.pyx":1123
25327  * return bondClass(key)
25328  *
25329  * def __setitem__(self, key, value): # <<<<<<<<<<<<<<
25330  * # Validate arguments
25331  *
25332  */
25333  __pyx_t_2 = __Pyx_CyFunction_NewEx(&__pyx_mdef_10espressomd_12interactions_18BondedInteractions_3__setitem__, 0, __pyx_n_s_BondedInteractions___setitem, NULL, __pyx_n_s_espressomd_interactions, __pyx_d, ((PyObject *)__pyx_codeobj__335)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25334  __Pyx_GOTREF(__pyx_t_2);
25335  if (PyObject_SetItem(__pyx_t_1, __pyx_n_s_setitem, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25336  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25337 
25338  /* "espressomd/interactions.pyx":1095
25339  *
25340  *
25341  * class BondedInteractions: # <<<<<<<<<<<<<<
25342  *
25343  * """Represents the bonded interactions. Individual interactions can be accessed using
25344  */
25345  __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_BondedInteractions, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25346  __Pyx_GOTREF(__pyx_t_2);
25347  if (PyDict_SetItem(__pyx_d, __pyx_n_s_BondedInteractions, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25348  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
25349  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25350 
25351  /* "espressomd/interactions.pyx":1
25352  * # # <<<<<<<<<<<<<<
25353  * # Copyright (C) 2013,2014 The ESPResSo project
25354  * #
25355  */
25356  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25357  __Pyx_GOTREF(__pyx_t_1);
25358  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
25359  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25360 
25361  /* "../../../../../../../../usr/lib/python3.4/site-packages/Cython/Includes/numpy/__init__.pxd":979
25362  * arr.base = baseptr
25363  *
25364  * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<
25365  * if arr.base is NULL:
25366  * return None
25367  */
25368 
25369  /*--- Wrapped vars code ---*/
25370 
25371  goto __pyx_L0;
25372  __pyx_L1_error:;
25373  __Pyx_XDECREF(__pyx_t_1);
25374  __Pyx_XDECREF(__pyx_t_2);
25375  __Pyx_XDECREF(__pyx_t_3);
25376  __Pyx_XDECREF(__pyx_t_4);
25377  if (__pyx_m) {
25378  if (__pyx_d) {
25379  __Pyx_AddTraceback("init espressomd.interactions", __pyx_clineno, __pyx_lineno, __pyx_filename);
25380  }
25381  Py_DECREF(__pyx_m); __pyx_m = 0;
25382  } else if (!PyErr_Occurred()) {
25383  PyErr_SetString(PyExc_ImportError, "init espressomd.interactions");
25384  }
25385  __pyx_L0:;
25386  __Pyx_RefNannyFinishContext();
25387  #if PY_MAJOR_VERSION < 3
25388  return;
25389  #else
25390  return __pyx_m;
25391  #endif
25392 }
25393 
25394 /* --- Runtime support code --- */
25395 #if CYTHON_REFNANNY
25396 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
25397  PyObject *m = NULL, *p = NULL;
25398  void *r = NULL;
25399  m = PyImport_ImportModule((char *)modname);
25400  if (!m) goto end;
25401  p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
25402  if (!p) goto end;
25403  r = PyLong_AsVoidPtr(p);
25404 end:
25405  Py_XDECREF(p);
25406  Py_XDECREF(m);
25407  return (__Pyx_RefNannyAPIStruct *)r;
25408 }
25409 #endif
25410 
25411 static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
25412  PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
25413  if (unlikely(!result)) {
25414  PyErr_Format(PyExc_NameError,
25415 #if PY_MAJOR_VERSION >= 3
25416  "name '%U' is not defined", name);
25417 #else
25418  "name '%.200s' is not defined", PyString_AS_STRING(name));
25419 #endif
25420  }
25421  return result;
25422 }
25423 
25424 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
25425  PyObject *kwdict,
25426  const char* function_name,
25427  int kw_allowed)
25428 {
25429  PyObject* key = 0;
25430  Py_ssize_t pos = 0;
25431 #if CYTHON_COMPILING_IN_PYPY
25432  if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
25433  goto invalid_keyword;
25434  return 1;
25435 #else
25436  while (PyDict_Next(kwdict, &pos, &key, 0)) {
25437  #if PY_MAJOR_VERSION < 3
25438  if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
25439  #endif
25440  if (unlikely(!PyUnicode_Check(key)))
25441  goto invalid_keyword_type;
25442  }
25443  if ((!kw_allowed) && unlikely(key))
25444  goto invalid_keyword;
25445  return 1;
25446 invalid_keyword_type:
25447  PyErr_Format(PyExc_TypeError,
25448  "%.200s() keywords must be strings", function_name);
25449  return 0;
25450 #endif
25451 invalid_keyword:
25452  PyErr_Format(PyExc_TypeError,
25453  #if PY_MAJOR_VERSION < 3
25454  "%.200s() got an unexpected keyword argument '%.200s'",
25455  function_name, PyString_AsString(key));
25456  #else
25457  "%s() got an unexpected keyword argument '%U'",
25458  function_name, key);
25459  #endif
25460  return 0;
25461 }
25462 
25463 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
25464  PyObject *r;
25465  if (!j) return NULL;
25466  r = PyObject_GetItem(o, j);
25467  Py_DECREF(j);
25468  return r;
25469 }
25470 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
25471  int wraparound, int boundscheck) {
25472 #if CYTHON_COMPILING_IN_CPYTHON
25473  if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
25474  if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
25475  PyObject *r = PyList_GET_ITEM(o, i);
25476  Py_INCREF(r);
25477  return r;
25478  }
25479  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
25480 #else
25481  return PySequence_GetItem(o, i);
25482 #endif
25483 }
25484 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
25485  int wraparound, int boundscheck) {
25486 #if CYTHON_COMPILING_IN_CPYTHON
25487  if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
25488  if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
25489  PyObject *r = PyTuple_GET_ITEM(o, i);
25490  Py_INCREF(r);
25491  return r;
25492  }
25493  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
25494 #else
25495  return PySequence_GetItem(o, i);
25496 #endif
25497 }
25498 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
25499  int is_list, int wraparound, int boundscheck) {
25500 #if CYTHON_COMPILING_IN_CPYTHON
25501  if (is_list || PyList_CheckExact(o)) {
25502  Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
25503  if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
25504  PyObject *r = PyList_GET_ITEM(o, n);
25505  Py_INCREF(r);
25506  return r;
25507  }
25508  }
25509  else if (PyTuple_CheckExact(o)) {
25510  Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
25511  if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
25512  PyObject *r = PyTuple_GET_ITEM(o, n);
25513  Py_INCREF(r);
25514  return r;
25515  }
25516  } else {
25517  PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
25518  if (likely(m && m->sq_item)) {
25519  if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
25520  Py_ssize_t l = m->sq_length(o);
25521  if (likely(l >= 0)) {
25522  i += l;
25523  } else {
25524  if (PyErr_ExceptionMatches(PyExc_OverflowError))
25525  PyErr_Clear();
25526  else
25527  return NULL;
25528  }
25529  }
25530  return m->sq_item(o, i);
25531  }
25532  }
25533 #else
25534  if (is_list || PySequence_Check(o)) {
25535  return PySequence_GetItem(o, i);
25536  }
25537 #endif
25538  return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
25539 }
25540 
25541 #if CYTHON_COMPILING_IN_CPYTHON
25542 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
25543  PyObject *result;
25544  ternaryfunc call = func->ob_type->tp_call;
25545  if (unlikely(!call))
25546  return PyObject_Call(func, arg, kw);
25547  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
25548  return NULL;
25549  result = (*call)(func, arg, kw);
25550  Py_LeaveRecursiveCall();
25551  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
25552  PyErr_SetString(
25553  PyExc_SystemError,
25554  "NULL result without error in PyObject_Call");
25555  }
25556  return result;
25557 }
25558 #endif
25559 
25560 #if CYTHON_COMPILING_IN_CPYTHON
25561 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
25562  PyObject *self, *result;
25563  PyCFunction cfunc;
25564  cfunc = PyCFunction_GET_FUNCTION(func);
25565  self = PyCFunction_GET_SELF(func);
25566  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
25567  return NULL;
25568  result = cfunc(self, arg);
25569  Py_LeaveRecursiveCall();
25570  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
25571  PyErr_SetString(
25572  PyExc_SystemError,
25573  "NULL result without error in PyObject_Call");
25574  }
25575  return result;
25576 }
25577 #endif
25578 
25579 #if CYTHON_COMPILING_IN_CPYTHON
25580 static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
25581  PyObject *result;
25582  PyObject *args = PyTuple_New(1);
25583  if (unlikely(!args)) return NULL;
25584  Py_INCREF(arg);
25585  PyTuple_SET_ITEM(args, 0, arg);
25586  result = __Pyx_PyObject_Call(func, args, NULL);
25587  Py_DECREF(args);
25588  return result;
25589 }
25590 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
25591 #ifdef __Pyx_CyFunction_USED
25592  if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
25593 #else
25594  if (likely(PyCFunction_Check(func))) {
25595 #endif
25596  if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
25597  return __Pyx_PyObject_CallMethO(func, arg);
25598  }
25599  }
25600  return __Pyx__PyObject_CallOneArg(func, arg);
25601 }
25602 #else
25603 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
25604  PyObject* args = PyTuple_Pack(1, arg);
25605  return (likely(args)) ? __Pyx_PyObject_Call(func, args, NULL) : NULL;
25606 }
25607 #endif
25608 
25609 #if CYTHON_COMPILING_IN_CPYTHON
25610 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
25611 #ifdef __Pyx_CyFunction_USED
25612  if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) {
25613 #else
25614  if (likely(PyCFunction_Check(func))) {
25615 #endif
25616  if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
25617  return __Pyx_PyObject_CallMethO(func, NULL);
25618  }
25619  }
25620  return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
25621 }
25622 #endif
25623 
25624 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
25625 #if CYTHON_COMPILING_IN_CPYTHON
25626  PyObject *tmp_type, *tmp_value, *tmp_tb;
25627  PyThreadState *tstate = PyThreadState_GET();
25628  tmp_type = tstate->curexc_type;
25629  tmp_value = tstate->curexc_value;
25630  tmp_tb = tstate->curexc_traceback;
25631  tstate->curexc_type = type;
25632  tstate->curexc_value = value;
25633  tstate->curexc_traceback = tb;
25634  Py_XDECREF(tmp_type);
25635  Py_XDECREF(tmp_value);
25636  Py_XDECREF(tmp_tb);
25637 #else
25638  PyErr_Restore(type, value, tb);
25639 #endif
25640 }
25641 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
25642 #if CYTHON_COMPILING_IN_CPYTHON
25643  PyThreadState *tstate = PyThreadState_GET();
25644  *type = tstate->curexc_type;
25645  *value = tstate->curexc_value;
25646  *tb = tstate->curexc_traceback;
25647  tstate->curexc_type = 0;
25648  tstate->curexc_value = 0;
25649  tstate->curexc_traceback = 0;
25650 #else
25651  PyErr_Fetch(type, value, tb);
25652 #endif
25653 }
25654 
25655 #if PY_MAJOR_VERSION < 3
25656 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
25657  CYTHON_UNUSED PyObject *cause) {
25658  Py_XINCREF(type);
25659  if (!value || value == Py_None)
25660  value = NULL;
25661  else
25662  Py_INCREF(value);
25663  if (!tb || tb == Py_None)
25664  tb = NULL;
25665  else {
25666  Py_INCREF(tb);
25667  if (!PyTraceBack_Check(tb)) {
25668  PyErr_SetString(PyExc_TypeError,
25669  "raise: arg 3 must be a traceback or None");
25670  goto raise_error;
25671  }
25672  }
25673  if (PyType_Check(type)) {
25674 #if CYTHON_COMPILING_IN_PYPY
25675  if (!value) {
25676  Py_INCREF(Py_None);
25677  value = Py_None;
25678  }
25679 #endif
25680  PyErr_NormalizeException(&type, &value, &tb);
25681  } else {
25682  if (value) {
25683  PyErr_SetString(PyExc_TypeError,
25684  "instance exception may not have a separate value");
25685  goto raise_error;
25686  }
25687  value = type;
25688  type = (PyObject*) Py_TYPE(type);
25689  Py_INCREF(type);
25690  if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
25691  PyErr_SetString(PyExc_TypeError,
25692  "raise: exception class must be a subclass of BaseException");
25693  goto raise_error;
25694  }
25695  }
25696  __Pyx_ErrRestore(type, value, tb);
25697  return;
25698 raise_error:
25699  Py_XDECREF(value);
25700  Py_XDECREF(type);
25701  Py_XDECREF(tb);
25702  return;
25703 }
25704 #else
25705 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
25706  PyObject* owned_instance = NULL;
25707  if (tb == Py_None) {
25708  tb = 0;
25709  } else if (tb && !PyTraceBack_Check(tb)) {
25710  PyErr_SetString(PyExc_TypeError,
25711  "raise: arg 3 must be a traceback or None");
25712  goto bad;
25713  }
25714  if (value == Py_None)
25715  value = 0;
25716  if (PyExceptionInstance_Check(type)) {
25717  if (value) {
25718  PyErr_SetString(PyExc_TypeError,
25719  "instance exception may not have a separate value");
25720  goto bad;
25721  }
25722  value = type;
25723  type = (PyObject*) Py_TYPE(value);
25724  } else if (PyExceptionClass_Check(type)) {
25725  PyObject *instance_class = NULL;
25726  if (value && PyExceptionInstance_Check(value)) {
25727  instance_class = (PyObject*) Py_TYPE(value);
25728  if (instance_class != type) {
25729  if (PyObject_IsSubclass(instance_class, type)) {
25730  type = instance_class;
25731  } else {
25732  instance_class = NULL;
25733  }
25734  }
25735  }
25736  if (!instance_class) {
25737  PyObject *args;
25738  if (!value)
25739  args = PyTuple_New(0);
25740  else if (PyTuple_Check(value)) {
25741  Py_INCREF(value);
25742  args = value;
25743  } else
25744  args = PyTuple_Pack(1, value);
25745  if (!args)
25746  goto bad;
25747  owned_instance = PyObject_Call(type, args, NULL);
25748  Py_DECREF(args);
25749  if (!owned_instance)
25750  goto bad;
25751  value = owned_instance;
25752  if (!PyExceptionInstance_Check(value)) {
25753  PyErr_Format(PyExc_TypeError,
25754  "calling %R should have returned an instance of "
25755  "BaseException, not %R",
25756  type, Py_TYPE(value));
25757  goto bad;
25758  }
25759  }
25760  } else {
25761  PyErr_SetString(PyExc_TypeError,
25762  "raise: exception class must be a subclass of BaseException");
25763  goto bad;
25764  }
25765 #if PY_VERSION_HEX >= 0x03030000
25766  if (cause) {
25767 #else
25768  if (cause && cause != Py_None) {
25769 #endif
25770  PyObject *fixed_cause;
25771  if (cause == Py_None) {
25772  fixed_cause = NULL;
25773  } else if (PyExceptionClass_Check(cause)) {
25774  fixed_cause = PyObject_CallObject(cause, NULL);
25775  if (fixed_cause == NULL)
25776  goto bad;
25777  } else if (PyExceptionInstance_Check(cause)) {
25778  fixed_cause = cause;
25779  Py_INCREF(fixed_cause);
25780  } else {
25781  PyErr_SetString(PyExc_TypeError,
25782  "exception causes must derive from "
25783  "BaseException");
25784  goto bad;
25785  }
25786  PyException_SetCause(value, fixed_cause);
25787  }
25788  PyErr_SetObject(type, value);
25789  if (tb) {
25790 #if CYTHON_COMPILING_IN_PYPY
25791  PyObject *tmp_type, *tmp_value, *tmp_tb;
25792  PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
25793  Py_INCREF(tb);
25794  PyErr_Restore(tmp_type, tmp_value, tb);
25795  Py_XDECREF(tmp_tb);
25796 #else
25797  PyThreadState *tstate = PyThreadState_GET();
25798  PyObject* tmp_tb = tstate->curexc_traceback;
25799  if (tb != tmp_tb) {
25800  Py_INCREF(tb);
25801  tstate->curexc_traceback = tb;
25802  Py_XDECREF(tmp_tb);
25803  }
25804 #endif
25805  }
25806 bad:
25807  Py_XDECREF(owned_instance);
25808  return;
25809 }
25810 #endif
25811 
25812 static void __Pyx_RaiseArgtupleInvalid(
25813  const char* func_name,
25814  int exact,
25815  Py_ssize_t num_min,
25816  Py_ssize_t num_max,
25817  Py_ssize_t num_found)
25818 {
25819  Py_ssize_t num_expected;
25820  const char *more_or_less;
25821  if (num_found < num_min) {
25822  num_expected = num_min;
25823  more_or_less = "at least";
25824  } else {
25825  num_expected = num_max;
25826  more_or_less = "at most";
25827  }
25828  if (exact) {
25829  more_or_less = "exactly";
25830  }
25831  PyErr_Format(PyExc_TypeError,
25832  "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
25833  func_name, more_or_less, num_expected,
25834  (num_expected == 1) ? "" : "s", num_found);
25835 }
25836 
25837 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
25838  PyObject *method, *result = NULL;
25839  method = __Pyx_PyObject_GetAttrStr(obj, method_name);
25840  if (unlikely(!method)) goto bad;
25841 #if CYTHON_COMPILING_IN_CPYTHON
25842  if (likely(PyMethod_Check(method))) {
25843  PyObject *self = PyMethod_GET_SELF(method);
25844  if (likely(self)) {
25845  PyObject *args;
25846  PyObject *function = PyMethod_GET_FUNCTION(method);
25847  args = PyTuple_New(2);
25848  if (unlikely(!args)) goto bad;
25849  Py_INCREF(self);
25850  PyTuple_SET_ITEM(args, 0, self);
25851  Py_INCREF(arg);
25852  PyTuple_SET_ITEM(args, 1, arg);
25853  Py_INCREF(function);
25854  Py_DECREF(method); method = NULL;
25855  result = __Pyx_PyObject_Call(function, args, NULL);
25856  Py_DECREF(args);
25857  Py_DECREF(function);
25858  return result;
25859  }
25860  }
25861 #endif
25862  result = __Pyx_PyObject_CallOneArg(method, arg);
25863 bad:
25864  Py_XDECREF(method);
25865  return result;
25866 }
25867 
25868 static CYTHON_INLINE PyObject* __Pyx_PyDict_Keys(PyObject* d) {
25869  if (PY_MAJOR_VERSION >= 3)
25870  return __Pyx_PyObject_CallMethod1((PyObject*)&PyDict_Type, __pyx_n_s_keys, d);
25871  else
25872  return PyDict_Keys(d);
25873 }
25874 
25875 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
25876 #if CYTHON_COMPILING_IN_PYPY
25877  return PyObject_RichCompareBool(s1, s2, equals);
25878 #else
25879  if (s1 == s2) {
25880  return (equals == Py_EQ);
25881  } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
25882  const char *ps1, *ps2;
25883  Py_ssize_t length = PyBytes_GET_SIZE(s1);
25884  if (length != PyBytes_GET_SIZE(s2))
25885  return (equals == Py_NE);
25886  ps1 = PyBytes_AS_STRING(s1);
25887  ps2 = PyBytes_AS_STRING(s2);
25888  if (ps1[0] != ps2[0]) {
25889  return (equals == Py_NE);
25890  } else if (length == 1) {
25891  return (equals == Py_EQ);
25892  } else {
25893  int result = memcmp(ps1, ps2, (size_t)length);
25894  return (equals == Py_EQ) ? (result == 0) : (result != 0);
25895  }
25896  } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
25897  return (equals == Py_NE);
25898  } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
25899  return (equals == Py_NE);
25900  } else {
25901  int result;
25902  PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
25903  if (!py_result)
25904  return -1;
25905  result = __Pyx_PyObject_IsTrue(py_result);
25906  Py_DECREF(py_result);
25907  return result;
25908  }
25909 #endif
25910 }
25911 
25912 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
25913 #if CYTHON_COMPILING_IN_PYPY
25914  return PyObject_RichCompareBool(s1, s2, equals);
25915 #else
25916 #if PY_MAJOR_VERSION < 3
25917  PyObject* owned_ref = NULL;
25918 #endif
25919  int s1_is_unicode, s2_is_unicode;
25920  if (s1 == s2) {
25921  goto return_eq;
25922  }
25923  s1_is_unicode = PyUnicode_CheckExact(s1);
25924  s2_is_unicode = PyUnicode_CheckExact(s2);
25925 #if PY_MAJOR_VERSION < 3
25926  if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
25927  owned_ref = PyUnicode_FromObject(s2);
25928  if (unlikely(!owned_ref))
25929  return -1;
25930  s2 = owned_ref;
25931  s2_is_unicode = 1;
25932  } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
25933  owned_ref = PyUnicode_FromObject(s1);
25934  if (unlikely(!owned_ref))
25935  return -1;
25936  s1 = owned_ref;
25937  s1_is_unicode = 1;
25938  } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
25939  return __Pyx_PyBytes_Equals(s1, s2, equals);
25940  }
25941 #endif
25942  if (s1_is_unicode & s2_is_unicode) {
25943  Py_ssize_t length;
25944  int kind;
25945  void *data1, *data2;
25946  if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
25947  return -1;
25948  length = __Pyx_PyUnicode_GET_LENGTH(s1);
25949  if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
25950  goto return_ne;
25951  }
25952  kind = __Pyx_PyUnicode_KIND(s1);
25953  if (kind != __Pyx_PyUnicode_KIND(s2)) {
25954  goto return_ne;
25955  }
25956  data1 = __Pyx_PyUnicode_DATA(s1);
25957  data2 = __Pyx_PyUnicode_DATA(s2);
25958  if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
25959  goto return_ne;
25960  } else if (length == 1) {
25961  goto return_eq;
25962  } else {
25963  int result = memcmp(data1, data2, (size_t)(length * kind));
25964  #if PY_MAJOR_VERSION < 3
25965  Py_XDECREF(owned_ref);
25966  #endif
25967  return (equals == Py_EQ) ? (result == 0) : (result != 0);
25968  }
25969  } else if ((s1 == Py_None) & s2_is_unicode) {
25970  goto return_ne;
25971  } else if ((s2 == Py_None) & s1_is_unicode) {
25972  goto return_ne;
25973  } else {
25974  int result;
25975  PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
25976  if (!py_result)
25977  return -1;
25978  result = __Pyx_PyObject_IsTrue(py_result);
25979  Py_DECREF(py_result);
25980  return result;
25981  }
25982 return_eq:
25983  #if PY_MAJOR_VERSION < 3
25984  Py_XDECREF(owned_ref);
25985  #endif
25986  return (equals == Py_EQ);
25987 return_ne:
25988  #if PY_MAJOR_VERSION < 3
25989  Py_XDECREF(owned_ref);
25990  #endif
25991  return (equals == Py_NE);
25992 #endif
25993 }
25994 
25995 static void __Pyx_RaiseDoubleKeywordsError(
25996  const char* func_name,
25997  PyObject* kw_name)
25998 {
25999  PyErr_Format(PyExc_TypeError,
26000  #if PY_MAJOR_VERSION >= 3
26001  "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
26002  #else
26003  "%s() got multiple values for keyword argument '%s'", func_name,
26004  PyString_AsString(kw_name));
26005  #endif
26006 }
26007 
26008 static int __Pyx_ParseOptionalKeywords(
26009  PyObject *kwds,
26010  PyObject **argnames[],
26011  PyObject *kwds2,
26012  PyObject *values[],
26013  Py_ssize_t num_pos_args,
26014  const char* function_name)
26015 {
26016  PyObject *key = 0, *value = 0;
26017  Py_ssize_t pos = 0;
26018  PyObject*** name;
26019  PyObject*** first_kw_arg = argnames + num_pos_args;
26020  while (PyDict_Next(kwds, &pos, &key, &value)) {
26021  name = first_kw_arg;
26022  while (*name && (**name != key)) name++;
26023  if (*name) {
26024  values[name-argnames] = value;
26025  continue;
26026  }
26027  name = first_kw_arg;
26028  #if PY_MAJOR_VERSION < 3
26029  if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
26030  while (*name) {
26031  if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
26032  && _PyString_Eq(**name, key)) {
26033  values[name-argnames] = value;
26034  break;
26035  }
26036  name++;
26037  }
26038  if (*name) continue;
26039  else {
26040  PyObject*** argname = argnames;
26041  while (argname != first_kw_arg) {
26042  if ((**argname == key) || (
26043  (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
26044  && _PyString_Eq(**argname, key))) {
26045  goto arg_passed_twice;
26046  }
26047  argname++;
26048  }
26049  }
26050  } else
26051  #endif
26052  if (likely(PyUnicode_Check(key))) {
26053  while (*name) {
26054  int cmp = (**name == key) ? 0 :
26055  #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
26056  (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
26057  #endif
26058  PyUnicode_Compare(**name, key);
26059  if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
26060  if (cmp == 0) {
26061  values[name-argnames] = value;
26062  break;
26063  }
26064  name++;
26065  }
26066  if (*name) continue;
26067  else {
26068  PyObject*** argname = argnames;
26069  while (argname != first_kw_arg) {
26070  int cmp = (**argname == key) ? 0 :
26071  #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
26072  (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
26073  #endif
26074  PyUnicode_Compare(**argname, key);
26075  if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
26076  if (cmp == 0) goto arg_passed_twice;
26077  argname++;
26078  }
26079  }
26080  } else
26081  goto invalid_keyword_type;
26082  if (kwds2) {
26083  if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
26084  } else {
26085  goto invalid_keyword;
26086  }
26087  }
26088  return 0;
26089 arg_passed_twice:
26090  __Pyx_RaiseDoubleKeywordsError(function_name, key);
26091  goto bad;
26092 invalid_keyword_type:
26093  PyErr_Format(PyExc_TypeError,
26094  "%.200s() keywords must be strings", function_name);
26095  goto bad;
26096 invalid_keyword:
26097  PyErr_Format(PyExc_TypeError,
26098  #if PY_MAJOR_VERSION < 3
26099  "%.200s() got an unexpected keyword argument '%.200s'",
26100  function_name, PyString_AsString(key));
26101  #else
26102  "%s() got an unexpected keyword argument '%U'",
26103  function_name, key);
26104  #endif
26105 bad:
26106  return -1;
26107 }
26108 
26109 static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
26110  PyObject *result;
26111 #if CYTHON_COMPILING_IN_CPYTHON
26112  result = PyDict_GetItem(__pyx_d, name);
26113  if (likely(result)) {
26114  Py_INCREF(result);
26115  } else {
26116 #else
26117  result = PyObject_GetItem(__pyx_d, name);
26118  if (!result) {
26119  PyErr_Clear();
26120 #endif
26121  result = __Pyx_GetBuiltinName(name);
26122  }
26123  return result;
26124 }
26125 
26126 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
26127  PyErr_Format(PyExc_ValueError,
26128  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
26129 }
26130 
26131 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
26132  PyErr_Format(PyExc_ValueError,
26133  "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
26134  index, (index == 1) ? "" : "s");
26135 }
26136 
26137 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
26138  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
26139 }
26140 
26141 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
26142  if (unlikely(!type)) {
26143  PyErr_SetString(PyExc_SystemError, "Missing type object");
26144  return 0;
26145  }
26146  if (likely(PyObject_TypeCheck(obj, type)))
26147  return 1;
26148  PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
26149  Py_TYPE(obj)->tp_name, type->tp_name);
26150  return 0;
26151 }
26152 
26153 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
26154  Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
26155  for (i=0; i < nbases; i++) {
26156  PyTypeObject *tmptype;
26157  PyObject *tmp = PyTuple_GET_ITEM(bases, i);
26158  tmptype = Py_TYPE(tmp);
26159 #if PY_MAJOR_VERSION < 3
26160  if (tmptype == &PyClass_Type)
26161  continue;
26162 #endif
26163  if (!metaclass) {
26164  metaclass = tmptype;
26165  continue;
26166  }
26167  if (PyType_IsSubtype(metaclass, tmptype))
26168  continue;
26169  if (PyType_IsSubtype(tmptype, metaclass)) {
26170  metaclass = tmptype;
26171  continue;
26172  }
26173  PyErr_SetString(PyExc_TypeError,
26174  "metaclass conflict: "
26175  "the metaclass of a derived class "
26176  "must be a (non-strict) subclass "
26177  "of the metaclasses of all its bases");
26178  return NULL;
26179  }
26180  if (!metaclass) {
26181 #if PY_MAJOR_VERSION < 3
26182  metaclass = &PyClass_Type;
26183 #else
26184  metaclass = &PyType_Type;
26185 #endif
26186  }
26187  Py_INCREF((PyObject*) metaclass);
26188  return (PyObject*) metaclass;
26189 }
26190 
26191 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
26192  PyObject* fake_module;
26193  PyTypeObject* cached_type = NULL;
26194  fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
26195  if (!fake_module) return NULL;
26196  Py_INCREF(fake_module);
26197  cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
26198  if (cached_type) {
26199  if (!PyType_Check((PyObject*)cached_type)) {
26200  PyErr_Format(PyExc_TypeError,
26201  "Shared Cython type %.200s is not a type object",
26202  type->tp_name);
26203  goto bad;
26204  }
26205  if (cached_type->tp_basicsize != type->tp_basicsize) {
26206  PyErr_Format(PyExc_TypeError,
26207  "Shared Cython type %.200s has the wrong size, try recompiling",
26208  type->tp_name);
26209  goto bad;
26210  }
26211  } else {
26212  if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
26213  PyErr_Clear();
26214  if (PyType_Ready(type) < 0) goto bad;
26215  if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
26216  goto bad;
26217  Py_INCREF(type);
26218  cached_type = type;
26219  }
26220 done:
26221  Py_DECREF(fake_module);
26222  return cached_type;
26223 bad:
26224  Py_XDECREF(cached_type);
26225  cached_type = NULL;
26226  goto done;
26227 }
26228 
26229 static PyObject *
26230 __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
26231 {
26232  if (unlikely(op->func_doc == NULL)) {
26233  if (op->func.m_ml->ml_doc) {
26234 #if PY_MAJOR_VERSION >= 3
26235  op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
26236 #else
26237  op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
26238 #endif
26239  if (unlikely(op->func_doc == NULL))
26240  return NULL;
26241  } else {
26242  Py_INCREF(Py_None);
26243  return Py_None;
26244  }
26245  }
26246  Py_INCREF(op->func_doc);
26247  return op->func_doc;
26248 }
26249 static int
26250 __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)
26251 {
26252  PyObject *tmp = op->func_doc;
26253  if (value == NULL) {
26254  value = Py_None;
26255  }
26256  Py_INCREF(value);
26257  op->func_doc = value;
26258  Py_XDECREF(tmp);
26259  return 0;
26260 }
26261 static PyObject *
26262 __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)
26263 {
26264  if (unlikely(op->func_name == NULL)) {
26265 #if PY_MAJOR_VERSION >= 3
26266  op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
26267 #else
26268  op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
26269 #endif
26270  if (unlikely(op->func_name == NULL))
26271  return NULL;
26272  }
26273  Py_INCREF(op->func_name);
26274  return op->func_name;
26275 }
26276 static int
26277 __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)
26278 {
26279  PyObject *tmp;
26280 #if PY_MAJOR_VERSION >= 3
26281  if (unlikely(value == NULL || !PyUnicode_Check(value))) {
26282 #else
26283  if (unlikely(value == NULL || !PyString_Check(value))) {
26284 #endif
26285  PyErr_SetString(PyExc_TypeError,
26286  "__name__ must be set to a string object");
26287  return -1;
26288  }
26289  tmp = op->func_name;
26290  Py_INCREF(value);
26291  op->func_name = value;
26292  Py_XDECREF(tmp);
26293  return 0;
26294 }
26295 static PyObject *
26296 __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)
26297 {
26298  Py_INCREF(op->func_qualname);
26299  return op->func_qualname;
26300 }
26301 static int
26302 __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)
26303 {
26304  PyObject *tmp;
26305 #if PY_MAJOR_VERSION >= 3
26306  if (unlikely(value == NULL || !PyUnicode_Check(value))) {
26307 #else
26308  if (unlikely(value == NULL || !PyString_Check(value))) {
26309 #endif
26310  PyErr_SetString(PyExc_TypeError,
26311  "__qualname__ must be set to a string object");
26312  return -1;
26313  }
26314  tmp = op->func_qualname;
26315  Py_INCREF(value);
26316  op->func_qualname = value;
26317  Py_XDECREF(tmp);
26318  return 0;
26319 }
26320 static PyObject *
26321 __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
26322 {
26323  PyObject *self;
26324  self = m->func_closure;
26325  if (self == NULL)
26326  self = Py_None;
26327  Py_INCREF(self);
26328  return self;
26329 }
26330 static PyObject *
26331 __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)
26332 {
26333  if (unlikely(op->func_dict == NULL)) {
26334  op->func_dict = PyDict_New();
26335  if (unlikely(op->func_dict == NULL))
26336  return NULL;
26337  }
26338  Py_INCREF(op->func_dict);
26339  return op->func_dict;
26340 }
26341 static int
26342 __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)
26343 {
26344  PyObject *tmp;
26345  if (unlikely(value == NULL)) {
26346  PyErr_SetString(PyExc_TypeError,
26347  "function's dictionary may not be deleted");
26348  return -1;
26349  }
26350  if (unlikely(!PyDict_Check(value))) {
26351  PyErr_SetString(PyExc_TypeError,
26352  "setting function's dictionary to a non-dict");
26353  return -1;
26354  }
26355  tmp = op->func_dict;
26356  Py_INCREF(value);
26357  op->func_dict = value;
26358  Py_XDECREF(tmp);
26359  return 0;
26360 }
26361 static PyObject *
26362 __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op)
26363 {
26364  Py_INCREF(op->func_globals);
26365  return op->func_globals;
26366 }
26367 static PyObject *
26368 __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op)
26369 {
26370  Py_INCREF(Py_None);
26371  return Py_None;
26372 }
26373 static PyObject *
26374 __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)
26375 {
26376  PyObject* result = (op->func_code) ? op->func_code : Py_None;
26377  Py_INCREF(result);
26378  return result;
26379 }
26380 static int
26381 __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
26382  PyObject *res = op->defaults_getter((PyObject *) op);
26383  if (unlikely(!res))
26384  return -1;
26385  op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
26386  Py_INCREF(op->defaults_tuple);
26387  op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
26388  Py_INCREF(op->defaults_kwdict);
26389  Py_DECREF(res);
26390  return 0;
26391 }
26392 static int
26393 __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value) {
26394  PyObject* tmp;
26395  if (!value) {
26396  value = Py_None;
26397  } else if (value != Py_None && !PyTuple_Check(value)) {
26398  PyErr_SetString(PyExc_TypeError,
26399  "__defaults__ must be set to a tuple object");
26400  return -1;
26401  }
26402  Py_INCREF(value);
26403  tmp = op->defaults_tuple;
26404  op->defaults_tuple = value;
26405  Py_XDECREF(tmp);
26406  return 0;
26407 }
26408 static PyObject *
26409 __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) {
26410  PyObject* result = op->defaults_tuple;
26411  if (unlikely(!result)) {
26412  if (op->defaults_getter) {
26413  if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
26414  result = op->defaults_tuple;
26415  } else {
26416  result = Py_None;
26417  }
26418  }
26419  Py_INCREF(result);
26420  return result;
26421 }
26422 static int
26423 __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) {
26424  PyObject* tmp;
26425  if (!value) {
26426  value = Py_None;
26427  } else if (value != Py_None && !PyDict_Check(value)) {
26428  PyErr_SetString(PyExc_TypeError,
26429  "__kwdefaults__ must be set to a dict object");
26430  return -1;
26431  }
26432  Py_INCREF(value);
26433  tmp = op->defaults_kwdict;
26434  op->defaults_kwdict = value;
26435  Py_XDECREF(tmp);
26436  return 0;
26437 }
26438 static PyObject *
26439 __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) {
26440  PyObject* result = op->defaults_kwdict;
26441  if (unlikely(!result)) {
26442  if (op->defaults_getter) {
26443  if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL;
26444  result = op->defaults_kwdict;
26445  } else {
26446  result = Py_None;
26447  }
26448  }
26449  Py_INCREF(result);
26450  return result;
26451 }
26452 static int
26453 __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) {
26454  PyObject* tmp;
26455  if (!value || value == Py_None) {
26456  value = NULL;
26457  } else if (!PyDict_Check(value)) {
26458  PyErr_SetString(PyExc_TypeError,
26459  "__annotations__ must be set to a dict object");
26460  return -1;
26461  }
26462  Py_XINCREF(value);
26463  tmp = op->func_annotations;
26464  op->func_annotations = value;
26465  Py_XDECREF(tmp);
26466  return 0;
26467 }
26468 static PyObject *
26469 __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op) {
26470  PyObject* result = op->func_annotations;
26471  if (unlikely(!result)) {
26472  result = PyDict_New();
26473  if (unlikely(!result)) return NULL;
26474  op->func_annotations = result;
26475  }
26476  Py_INCREF(result);
26477  return result;
26478 }
26479 static PyGetSetDef __pyx_CyFunction_getsets[] = {
26480  {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
26481  {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
26482  {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
26483  {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
26484  {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
26485  {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
26486  {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
26487  {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
26488  {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
26489  {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
26490  {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
26491  {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
26492  {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
26493  {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
26494  {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
26495  {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
26496  {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
26497  {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
26498  {0, 0, 0, 0, 0}
26499 };
26500 static PyMemberDef __pyx_CyFunction_members[] = {
26501  {(char *) "__module__", T_OBJECT, offsetof(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED, 0},
26502  {0, 0, 0, 0, 0}
26503 };
26504 static PyObject *
26505 __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
26506 {
26507 #if PY_MAJOR_VERSION >= 3
26508  return PyUnicode_FromString(m->func.m_ml->ml_name);
26509 #else
26510  return PyString_FromString(m->func.m_ml->ml_name);
26511 #endif
26512 }
26513 static PyMethodDef __pyx_CyFunction_methods[] = {
26514  {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
26515  {0, 0, 0, 0}
26516 };
26517 #if PY_VERSION_HEX < 0x030500A0
26518 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
26519 #else
26520 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
26521 #endif
26522 static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
26523  PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
26524  __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type);
26525  if (op == NULL)
26526  return NULL;
26527  op->flags = flags;
26528  __Pyx_CyFunction_weakreflist(op) = NULL;
26529  op->func.m_ml = ml;
26530  op->func.m_self = (PyObject *) op;
26531  Py_XINCREF(closure);
26532  op->func_closure = closure;
26533  Py_XINCREF(module);
26534  op->func.m_module = module;
26535  op->func_dict = NULL;
26536  op->func_name = NULL;
26537  Py_INCREF(qualname);
26538  op->func_qualname = qualname;
26539  op->func_doc = NULL;
26540  op->func_classobj = NULL;
26541  op->func_globals = globals;
26542  Py_INCREF(op->func_globals);
26543  Py_XINCREF(code);
26544  op->func_code = code;
26545  op->defaults_pyobjects = 0;
26546  op->defaults = NULL;
26547  op->defaults_tuple = NULL;
26548  op->defaults_kwdict = NULL;
26549  op->defaults_getter = NULL;
26550  op->func_annotations = NULL;
26551  PyObject_GC_Track(op);
26552  return (PyObject *) op;
26553 }
26554 static int
26555 __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
26556 {
26557  Py_CLEAR(m->func_closure);
26558  Py_CLEAR(m->func.m_module);
26559  Py_CLEAR(m->func_dict);
26560  Py_CLEAR(m->func_name);
26561  Py_CLEAR(m->func_qualname);
26562  Py_CLEAR(m->func_doc);
26563  Py_CLEAR(m->func_globals);
26564  Py_CLEAR(m->func_code);
26565  Py_CLEAR(m->func_classobj);
26566  Py_CLEAR(m->defaults_tuple);
26567  Py_CLEAR(m->defaults_kwdict);
26568  Py_CLEAR(m->func_annotations);
26569  if (m->defaults) {
26570  PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
26571  int i;
26572  for (i = 0; i < m->defaults_pyobjects; i++)
26573  Py_XDECREF(pydefaults[i]);
26574  PyMem_Free(m->defaults);
26575  m->defaults = NULL;
26576  }
26577  return 0;
26578 }
26579 static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
26580 {
26581  PyObject_GC_UnTrack(m);
26582  if (__Pyx_CyFunction_weakreflist(m) != NULL)
26583  PyObject_ClearWeakRefs((PyObject *) m);
26584  __Pyx_CyFunction_clear(m);
26585  PyObject_GC_Del(m);
26586 }
26587 static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
26588 {
26589  Py_VISIT(m->func_closure);
26590  Py_VISIT(m->func.m_module);
26591  Py_VISIT(m->func_dict);
26592  Py_VISIT(m->func_name);
26593  Py_VISIT(m->func_qualname);
26594  Py_VISIT(m->func_doc);
26595  Py_VISIT(m->func_globals);
26596  Py_VISIT(m->func_code);
26597  Py_VISIT(m->func_classobj);
26598  Py_VISIT(m->defaults_tuple);
26599  Py_VISIT(m->defaults_kwdict);
26600  if (m->defaults) {
26601  PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
26602  int i;
26603  for (i = 0; i < m->defaults_pyobjects; i++)
26604  Py_VISIT(pydefaults[i]);
26605  }
26606  return 0;
26607 }
26608 static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
26609 {
26610  __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
26611  if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
26612  Py_INCREF(func);
26613  return func;
26614  }
26615  if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
26616  if (type == NULL)
26617  type = (PyObject *)(Py_TYPE(obj));
26618  return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
26619  }
26620  if (obj == Py_None)
26621  obj = NULL;
26622  return __Pyx_PyMethod_New(func, obj, type);
26623 }
26624 static PyObject*
26625 __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
26626 {
26627 #if PY_MAJOR_VERSION >= 3
26628  return PyUnicode_FromFormat("<cyfunction %U at %p>",
26629  op->func_qualname, (void *)op);
26630 #else
26631  return PyString_FromFormat("<cyfunction %s at %p>",
26632  PyString_AsString(op->func_qualname), (void *)op);
26633 #endif
26634 }
26635 #if CYTHON_COMPILING_IN_PYPY
26636 static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
26637  PyCFunctionObject* f = (PyCFunctionObject*)func;
26638  PyCFunction meth = PyCFunction_GET_FUNCTION(func);
26639  PyObject *self = PyCFunction_GET_SELF(func);
26640  Py_ssize_t size;
26641  switch (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST)) {
26642  case METH_VARARGS:
26643  if (likely(kw == NULL) || PyDict_Size(kw) == 0)
26644  return (*meth)(self, arg);
26645  break;
26646  case METH_VARARGS | METH_KEYWORDS:
26647  return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
26648  case METH_NOARGS:
26649  if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
26650  size = PyTuple_GET_SIZE(arg);
26651  if (size == 0)
26652  return (*meth)(self, NULL);
26653  PyErr_Format(PyExc_TypeError,
26654  "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
26655  f->m_ml->ml_name, size);
26656  return NULL;
26657  }
26658  break;
26659  case METH_O:
26660  if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
26661  size = PyTuple_GET_SIZE(arg);
26662  if (size == 1)
26663  return (*meth)(self, PyTuple_GET_ITEM(arg, 0));
26664  PyErr_Format(PyExc_TypeError,
26665  "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
26666  f->m_ml->ml_name, size);
26667  return NULL;
26668  }
26669  break;
26670  default:
26671  PyErr_SetString(PyExc_SystemError, "Bad call flags in "
26672  "__Pyx_CyFunction_Call. METH_OLDARGS is no "
26673  "longer supported!");
26674  return NULL;
26675  }
26676  PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
26677  f->m_ml->ml_name);
26678  return NULL;
26679 }
26680 #else
26681 static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
26682  return PyCFunction_Call(func, arg, kw);
26683 }
26684 #endif
26685 static PyTypeObject __pyx_CyFunctionType_type = {
26686  PyVarObject_HEAD_INIT(0, 0)
26687  "cython_function_or_method",
26688  sizeof(__pyx_CyFunctionObject),
26689  0,
26690  (destructor) __Pyx_CyFunction_dealloc,
26691  0,
26692  0,
26693  0,
26694 #if PY_MAJOR_VERSION < 3
26695  0,
26696 #else
26697  0,
26698 #endif
26699  (reprfunc) __Pyx_CyFunction_repr,
26700  0,
26701  0,
26702  0,
26703  0,
26704  __Pyx_CyFunction_Call,
26705  0,
26706  0,
26707  0,
26708  0,
26709  Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
26710  0,
26711  (traverseproc) __Pyx_CyFunction_traverse,
26712  (inquiry) __Pyx_CyFunction_clear,
26713  0,
26714 #if PY_VERSION_HEX < 0x030500A0
26715  offsetof(__pyx_CyFunctionObject, func_weakreflist),
26716 #else
26717  offsetof(PyCFunctionObject, m_weakreflist),
26718 #endif
26719  0,
26720  0,
26721  __pyx_CyFunction_methods,
26722  __pyx_CyFunction_members,
26723  __pyx_CyFunction_getsets,
26724  0,
26725  0,
26726  __Pyx_CyFunction_descr_get,
26727  0,
26728  offsetof(__pyx_CyFunctionObject, func_dict),
26729  0,
26730  0,
26731  0,
26732  0,
26733  0,
26734  0,
26735  0,
26736  0,
26737  0,
26738  0,
26739  0,
26740  0,
26741 #if PY_VERSION_HEX >= 0x030400a1
26742  0,
26743 #endif
26744 };
26745 static int __Pyx_CyFunction_init(void) {
26746 #if !CYTHON_COMPILING_IN_PYPY
26747  __pyx_CyFunctionType_type.tp_call = PyCFunction_Call;
26748 #endif
26749  __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
26750  if (__pyx_CyFunctionType == NULL) {
26751  return -1;
26752  }
26753  return 0;
26754 }
26755 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
26756  __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
26757  m->defaults = PyMem_Malloc(size);
26758  if (!m->defaults)
26759  return PyErr_NoMemory();
26760  memset(m->defaults, 0, size);
26761  m->defaults_pyobjects = pyobjects;
26762  return m->defaults;
26763 }
26764 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
26765  __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
26766  m->defaults_tuple = tuple;
26767  Py_INCREF(tuple);
26768 }
26769 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
26770  __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
26771  m->defaults_kwdict = dict;
26772  Py_INCREF(dict);
26773 }
26774 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
26775  __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
26776  m->func_annotations = dict;
26777  Py_INCREF(dict);
26778 }
26779 
26780 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
26781  PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
26782  PyObject *ns;
26783  if (metaclass) {
26784  PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
26785  if (prep) {
26786  PyObject *pargs = PyTuple_Pack(2, name, bases);
26787  if (unlikely(!pargs)) {
26788  Py_DECREF(prep);
26789  return NULL;
26790  }
26791  ns = PyObject_Call(prep, pargs, mkw);
26792  Py_DECREF(prep);
26793  Py_DECREF(pargs);
26794  } else {
26795  if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
26796  return NULL;
26797  PyErr_Clear();
26798  ns = PyDict_New();
26799  }
26800  } else {
26801  ns = PyDict_New();
26802  }
26803  if (unlikely(!ns))
26804  return NULL;
26805  if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
26806  if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
26807  if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
26808  return ns;
26809 bad:
26810  Py_DECREF(ns);
26811  return NULL;
26812 }
26813 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
26814  PyObject *dict, PyObject *mkw,
26815  int calculate_metaclass, int allow_py2_metaclass) {
26816  PyObject *result, *margs;
26817  PyObject *owned_metaclass = NULL;
26818  if (allow_py2_metaclass) {
26819  owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
26820  if (owned_metaclass) {
26821  metaclass = owned_metaclass;
26822  } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
26823  PyErr_Clear();
26824  } else {
26825  return NULL;
26826  }
26827  }
26828  if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
26829  metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
26830  Py_XDECREF(owned_metaclass);
26831  if (unlikely(!metaclass))
26832  return NULL;
26833  owned_metaclass = metaclass;
26834  }
26835  margs = PyTuple_Pack(3, name, bases, dict);
26836  if (unlikely(!margs)) {
26837  result = NULL;
26838  } else {
26839  result = PyObject_Call(metaclass, margs, mkw);
26840  Py_DECREF(margs);
26841  }
26842  Py_XDECREF(owned_metaclass);
26843  return result;
26844 }
26845 
26846 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
26847  int start = 0, mid = 0, end = count - 1;
26848  if (end >= 0 && code_line > entries[end].code_line) {
26849  return count;
26850  }
26851  while (start < end) {
26852  mid = (start + end) / 2;
26853  if (code_line < entries[mid].code_line) {
26854  end = mid;
26855  } else if (code_line > entries[mid].code_line) {
26856  start = mid + 1;
26857  } else {
26858  return mid;
26859  }
26860  }
26861  if (code_line <= entries[mid].code_line) {
26862  return mid;
26863  } else {
26864  return mid + 1;
26865  }
26866 }
26867 static PyCodeObject *__pyx_find_code_object(int code_line) {
26868  PyCodeObject* code_object;
26869  int pos;
26870  if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
26871  return NULL;
26872  }
26873  pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
26874  if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
26875  return NULL;
26876  }
26877  code_object = __pyx_code_cache.entries[pos].code_object;
26878  Py_INCREF(code_object);
26879  return code_object;
26880 }
26881 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
26882  int pos, i;
26883  __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
26884  if (unlikely(!code_line)) {
26885  return;
26886  }
26887  if (unlikely(!entries)) {
26888  entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
26889  if (likely(entries)) {
26890  __pyx_code_cache.entries = entries;
26891  __pyx_code_cache.max_count = 64;
26892  __pyx_code_cache.count = 1;
26893  entries[0].code_line = code_line;
26894  entries[0].code_object = code_object;
26895  Py_INCREF(code_object);
26896  }
26897  return;
26898  }
26899  pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
26900  if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
26901  PyCodeObject* tmp = entries[pos].code_object;
26902  entries[pos].code_object = code_object;
26903  Py_DECREF(tmp);
26904  return;
26905  }
26906  if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
26907  int new_max = __pyx_code_cache.max_count + 64;
26908  entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
26909  __pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));
26910  if (unlikely(!entries)) {
26911  return;
26912  }
26913  __pyx_code_cache.entries = entries;
26914  __pyx_code_cache.max_count = new_max;
26915  }
26916  for (i=__pyx_code_cache.count; i>pos; i--) {
26917  entries[i] = entries[i-1];
26918  }
26919  entries[pos].code_line = code_line;
26920  entries[pos].code_object = code_object;
26921  __pyx_code_cache.count++;
26922  Py_INCREF(code_object);
26923 }
26924 
26925 #include "compile.h"
26926 #include "frameobject.h"
26927 #include "traceback.h"
26928 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
26929  const char *funcname, int c_line,
26930  int py_line, const char *filename) {
26931  PyCodeObject *py_code = 0;
26932  PyObject *py_srcfile = 0;
26933  PyObject *py_funcname = 0;
26934  #if PY_MAJOR_VERSION < 3
26935  py_srcfile = PyString_FromString(filename);
26936  #else
26937  py_srcfile = PyUnicode_FromString(filename);
26938  #endif
26939  if (!py_srcfile) goto bad;
26940  if (c_line) {
26941  #if PY_MAJOR_VERSION < 3
26942  py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
26943  #else
26944  py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
26945  #endif
26946  }
26947  else {
26948  #if PY_MAJOR_VERSION < 3
26949  py_funcname = PyString_FromString(funcname);
26950  #else
26951  py_funcname = PyUnicode_FromString(funcname);
26952  #endif
26953  }
26954  if (!py_funcname) goto bad;
26955  py_code = __Pyx_PyCode_New(
26956  0,
26957  0,
26958  0,
26959  0,
26960  0,
26961  __pyx_empty_bytes, /*PyObject *code,*/
26962  __pyx_empty_tuple, /*PyObject *consts,*/
26963  __pyx_empty_tuple, /*PyObject *names,*/
26964  __pyx_empty_tuple, /*PyObject *varnames,*/
26965  __pyx_empty_tuple, /*PyObject *freevars,*/
26966  __pyx_empty_tuple, /*PyObject *cellvars,*/
26967  py_srcfile, /*PyObject *filename,*/
26968  py_funcname, /*PyObject *name,*/
26969  py_line,
26970  __pyx_empty_bytes /*PyObject *lnotab*/
26971  );
26972  Py_DECREF(py_srcfile);
26973  Py_DECREF(py_funcname);
26974  return py_code;
26975 bad:
26976  Py_XDECREF(py_srcfile);
26977  Py_XDECREF(py_funcname);
26978  return NULL;
26979 }
26980 static void __Pyx_AddTraceback(const char *funcname, int c_line,
26981  int py_line, const char *filename) {
26982  PyCodeObject *py_code = 0;
26983  PyFrameObject *py_frame = 0;
26984  py_code = __pyx_find_code_object(c_line ? c_line : py_line);
26985  if (!py_code) {
26986  py_code = __Pyx_CreateCodeObjectForTraceback(
26987  funcname, c_line, py_line, filename);
26988  if (!py_code) goto bad;
26989  __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
26990  }
26991  py_frame = PyFrame_New(
26992  PyThreadState_GET(), /*PyThreadState *tstate,*/
26993  py_code, /*PyCodeObject *code,*/
26994  __pyx_d, /*PyObject *globals,*/
26995  0 /*PyObject *locals*/
26996  );
26997  if (!py_frame) goto bad;
26998  py_frame->f_lineno = py_line;
26999  PyTraceBack_Here(py_frame);
27000 bad:
27001  Py_XDECREF(py_code);
27002  Py_XDECREF(py_frame);
27003 }
27004 
27005 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
27006  const long neg_one = (long) -1, const_zero = 0;
27007  const int is_unsigned = neg_one > const_zero;
27008  if (is_unsigned) {
27009  if (sizeof(long) < sizeof(long)) {
27010  return PyInt_FromLong((long) value);
27011  } else if (sizeof(long) <= sizeof(unsigned long)) {
27012  return PyLong_FromUnsignedLong((unsigned long) value);
27013  } else if (sizeof(long) <= sizeof(unsigned long long)) {
27014  return PyLong_FromUnsignedLongLong((unsigned long long) value);
27015  }
27016  } else {
27017  if (sizeof(long) <= sizeof(long)) {
27018  return PyInt_FromLong((long) value);
27019  } else if (sizeof(long) <= sizeof(long long)) {
27020  return PyLong_FromLongLong((long long) value);
27021  }
27022  }
27023  {
27024  int one = 1; int little = (int)*(unsigned char *)&one;
27025  unsigned char *bytes = (unsigned char *)&value;
27026  return _PyLong_FromByteArray(bytes, sizeof(long),
27027  little, !is_unsigned);
27028  }
27029 }
27030 
27031 #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value) \
27032  { \
27033  func_type value = func_value; \
27034  if (sizeof(target_type) < sizeof(func_type)) { \
27035  if (unlikely(value != (func_type) (target_type) value)) { \
27036  func_type zero = 0; \
27037  if (is_unsigned && unlikely(value < zero)) \
27038  goto raise_neg_overflow; \
27039  else \
27040  goto raise_overflow; \
27041  } \
27042  } \
27043  return (target_type) value; \
27044  }
27045 
27046 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27047  #if CYTHON_USE_PYLONG_INTERNALS
27048  #include "longintrepr.h"
27049  #endif
27050 #endif
27051 
27052 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
27053  const int neg_one = (int) -1, const_zero = 0;
27054  const int is_unsigned = neg_one > const_zero;
27055 #if PY_MAJOR_VERSION < 3
27056  if (likely(PyInt_Check(x))) {
27057  if (sizeof(int) < sizeof(long)) {
27058  __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
27059  } else {
27060  long val = PyInt_AS_LONG(x);
27061  if (is_unsigned && unlikely(val < 0)) {
27062  goto raise_neg_overflow;
27063  }
27064  return (int) val;
27065  }
27066  } else
27067 #endif
27068  if (likely(PyLong_Check(x))) {
27069  if (is_unsigned) {
27070 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27071  #if CYTHON_USE_PYLONG_INTERNALS
27072  switch (Py_SIZE(x)) {
27073  case 0: return 0;
27074  case 1: __PYX_VERIFY_RETURN_INT(int, digit, ((PyLongObject*)x)->ob_digit[0]);
27075  }
27076  #endif
27077 #endif
27078  if (unlikely(Py_SIZE(x) < 0)) {
27079  goto raise_neg_overflow;
27080  }
27081  if (sizeof(int) <= sizeof(unsigned long)) {
27082  __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong(x))
27083  } else if (sizeof(int) <= sizeof(unsigned long long)) {
27084  __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong(x))
27085  }
27086  } else {
27087 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27088  #if CYTHON_USE_PYLONG_INTERNALS
27089  switch (Py_SIZE(x)) {
27090  case 0: return 0;
27091  case 1: __PYX_VERIFY_RETURN_INT(int, digit, +(((PyLongObject*)x)->ob_digit[0]));
27092  case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
27093  }
27094  #endif
27095 #endif
27096  if (sizeof(int) <= sizeof(long)) {
27097  __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong(x))
27098  } else if (sizeof(int) <= sizeof(long long)) {
27099  __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong(x))
27100  }
27101  }
27102  {
27103 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
27104  PyErr_SetString(PyExc_RuntimeError,
27105  "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
27106 #else
27107  int val;
27108  PyObject *v = __Pyx_PyNumber_Int(x);
27109  #if PY_MAJOR_VERSION < 3
27110  if (likely(v) && !PyLong_Check(v)) {
27111  PyObject *tmp = v;
27112  v = PyNumber_Long(tmp);
27113  Py_DECREF(tmp);
27114  }
27115  #endif
27116  if (likely(v)) {
27117  int one = 1; int is_little = (int)*(unsigned char *)&one;
27118  unsigned char *bytes = (unsigned char *)&val;
27119  int ret = _PyLong_AsByteArray((PyLongObject *)v,
27120  bytes, sizeof(val),
27121  is_little, !is_unsigned);
27122  Py_DECREF(v);
27123  if (likely(!ret))
27124  return val;
27125  }
27126 #endif
27127  return (int) -1;
27128  }
27129  } else {
27130  int val;
27131  PyObject *tmp = __Pyx_PyNumber_Int(x);
27132  if (!tmp) return (int) -1;
27133  val = __Pyx_PyInt_As_int(tmp);
27134  Py_DECREF(tmp);
27135  return val;
27136  }
27137 raise_overflow:
27138  PyErr_SetString(PyExc_OverflowError,
27139  "value too large to convert to int");
27140  return (int) -1;
27141 raise_neg_overflow:
27142  PyErr_SetString(PyExc_OverflowError,
27143  "can't convert negative value to int");
27144  return (int) -1;
27145 }
27146 
27147 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
27148  const int neg_one = (int) -1, const_zero = 0;
27149  const int is_unsigned = neg_one > const_zero;
27150  if (is_unsigned) {
27151  if (sizeof(int) < sizeof(long)) {
27152  return PyInt_FromLong((long) value);
27153  } else if (sizeof(int) <= sizeof(unsigned long)) {
27154  return PyLong_FromUnsignedLong((unsigned long) value);
27155  } else if (sizeof(int) <= sizeof(unsigned long long)) {
27156  return PyLong_FromUnsignedLongLong((unsigned long long) value);
27157  }
27158  } else {
27159  if (sizeof(int) <= sizeof(long)) {
27160  return PyInt_FromLong((long) value);
27161  } else if (sizeof(int) <= sizeof(long long)) {
27162  return PyLong_FromLongLong((long long) value);
27163  }
27164  }
27165  {
27166  int one = 1; int little = (int)*(unsigned char *)&one;
27167  unsigned char *bytes = (unsigned char *)&value;
27168  return _PyLong_FromByteArray(bytes, sizeof(int),
27169  little, !is_unsigned);
27170  }
27171 }
27172 
27173 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
27174 static PyObject *__Pyx_GetStdout(void) {
27175  PyObject *f = PySys_GetObject((char *)"stdout");
27176  if (!f) {
27177  PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
27178  }
27179  return f;
27180 }
27181 static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
27182  int i;
27183  if (!f) {
27184  if (!(f = __Pyx_GetStdout()))
27185  return -1;
27186  }
27187  Py_INCREF(f);
27188  for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
27189  PyObject* v;
27190  if (PyFile_SoftSpace(f, 1)) {
27191  if (PyFile_WriteString(" ", f) < 0)
27192  goto error;
27193  }
27194  v = PyTuple_GET_ITEM(arg_tuple, i);
27195  if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
27196  goto error;
27197  if (PyString_Check(v)) {
27198  char *s = PyString_AsString(v);
27199  Py_ssize_t len = PyString_Size(v);
27200  if (len > 0) {
27201  switch (s[len-1]) {
27202  case ' ': break;
27203  case '\f': case '\r': case '\n': case '\t': case '\v':
27204  PyFile_SoftSpace(f, 0);
27205  break;
27206  default: break;
27207  }
27208  }
27209  }
27210  }
27211  if (newline) {
27212  if (PyFile_WriteString("\n", f) < 0)
27213  goto error;
27214  PyFile_SoftSpace(f, 0);
27215  }
27216  Py_DECREF(f);
27217  return 0;
27218 error:
27219  Py_DECREF(f);
27220  return -1;
27221 }
27222 #else
27223 static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
27224  PyObject* kwargs = 0;
27225  PyObject* result = 0;
27226  PyObject* end_string;
27227  if (unlikely(!__pyx_print)) {
27228  __pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s_print);
27229  if (!__pyx_print)
27230  return -1;
27231  }
27232  if (stream) {
27233  kwargs = PyDict_New();
27234  if (unlikely(!kwargs))
27235  return -1;
27236  if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s_file, stream) < 0))
27237  goto bad;
27238  if (!newline) {
27239  end_string = PyUnicode_FromStringAndSize(" ", 1);
27240  if (unlikely(!end_string))
27241  goto bad;
27242  if (PyDict_SetItem(kwargs, __pyx_n_s_end, end_string) < 0) {
27243  Py_DECREF(end_string);
27244  goto bad;
27245  }
27246  Py_DECREF(end_string);
27247  }
27248  } else if (!newline) {
27249  if (unlikely(!__pyx_print_kwargs)) {
27250  __pyx_print_kwargs = PyDict_New();
27251  if (unlikely(!__pyx_print_kwargs))
27252  return -1;
27253  end_string = PyUnicode_FromStringAndSize(" ", 1);
27254  if (unlikely(!end_string))
27255  return -1;
27256  if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s_end, end_string) < 0) {
27257  Py_DECREF(end_string);
27258  return -1;
27259  }
27260  Py_DECREF(end_string);
27261  }
27262  kwargs = __pyx_print_kwargs;
27263  }
27264  result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
27265  if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
27266  Py_DECREF(kwargs);
27267  if (!result)
27268  return -1;
27269  Py_DECREF(result);
27270  return 0;
27271 bad:
27272  if (kwargs != __pyx_print_kwargs)
27273  Py_XDECREF(kwargs);
27274  return -1;
27275 }
27276 #endif
27277 
27278 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
27279 static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
27280  if (!f) {
27281  if (!(f = __Pyx_GetStdout()))
27282  return -1;
27283  }
27284  Py_INCREF(f);
27285  if (PyFile_SoftSpace(f, 0)) {
27286  if (PyFile_WriteString(" ", f) < 0)
27287  goto error;
27288  }
27289  if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
27290  goto error;
27291  if (PyFile_WriteString("\n", f) < 0)
27292  goto error;
27293  Py_DECREF(f);
27294  return 0;
27295 error:
27296  Py_DECREF(f);
27297  return -1;
27298  /* the line below is just to avoid C compiler
27299  * warnings about unused functions */
27300  return __Pyx_Print(f, NULL, 0);
27301 }
27302 #else
27303 static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
27304  int res;
27305  PyObject* arg_tuple = PyTuple_Pack(1, o);
27306  if (unlikely(!arg_tuple))
27307  return -1;
27308  res = __Pyx_Print(stream, arg_tuple, 1);
27309  Py_DECREF(arg_tuple);
27310  return res;
27311 }
27312 #endif
27313 
27314 #if CYTHON_CCOMPLEX
27315  #ifdef __cplusplus
27316  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
27317  return ::std::complex< float >(x, y);
27318  }
27319  #else
27320  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
27321  return x + y*(__pyx_t_float_complex)_Complex_I;
27322  }
27323  #endif
27324 #else
27325  static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
27326  __pyx_t_float_complex z;
27327  z.real = x;
27328  z.imag = y;
27329  return z;
27330  }
27331 #endif
27332 
27333 #if CYTHON_CCOMPLEX
27334 #else
27335  static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27336  return (a.real == b.real) && (a.imag == b.imag);
27337  }
27338  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27339  __pyx_t_float_complex z;
27340  z.real = a.real + b.real;
27341  z.imag = a.imag + b.imag;
27342  return z;
27343  }
27344  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27345  __pyx_t_float_complex z;
27346  z.real = a.real - b.real;
27347  z.imag = a.imag - b.imag;
27348  return z;
27349  }
27350  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27351  __pyx_t_float_complex z;
27352  z.real = a.real * b.real - a.imag * b.imag;
27353  z.imag = a.real * b.imag + a.imag * b.real;
27354  return z;
27355  }
27356  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27357  __pyx_t_float_complex z;
27358  float denom = b.real * b.real + b.imag * b.imag;
27359  z.real = (a.real * b.real + a.imag * b.imag) / denom;
27360  z.imag = (a.imag * b.real - a.real * b.imag) / denom;
27361  return z;
27362  }
27363  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) {
27364  __pyx_t_float_complex z;
27365  z.real = -a.real;
27366  z.imag = -a.imag;
27367  return z;
27368  }
27369  static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) {
27370  return (a.real == 0) && (a.imag == 0);
27371  }
27372  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) {
27373  __pyx_t_float_complex z;
27374  z.real = a.real;
27375  z.imag = -a.imag;
27376  return z;
27377  }
27378  #if 1
27379  static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) {
27380  #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
27381  return sqrtf(z.real*z.real + z.imag*z.imag);
27382  #else
27383  return hypotf(z.real, z.imag);
27384  #endif
27385  }
27386  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
27387  __pyx_t_float_complex z;
27388  float r, lnr, theta, z_r, z_theta;
27389  if (b.imag == 0 && b.real == (int)b.real) {
27390  if (b.real < 0) {
27391  float denom = a.real * a.real + a.imag * a.imag;
27392  a.real = a.real / denom;
27393  a.imag = -a.imag / denom;
27394  b.real = -b.real;
27395  }
27396  switch ((int)b.real) {
27397  case 0:
27398  z.real = 1;
27399  z.imag = 0;
27400  return z;
27401  case 1:
27402  return a;
27403  case 2:
27404  z = __Pyx_c_prodf(a, a);
27405  return __Pyx_c_prodf(a, a);
27406  case 3:
27407  z = __Pyx_c_prodf(a, a);
27408  return __Pyx_c_prodf(z, a);
27409  case 4:
27410  z = __Pyx_c_prodf(a, a);
27411  return __Pyx_c_prodf(z, z);
27412  }
27413  }
27414  if (a.imag == 0) {
27415  if (a.real == 0) {
27416  return a;
27417  }
27418  r = a.real;
27419  theta = 0;
27420  } else {
27421  r = __Pyx_c_absf(a);
27422  theta = atan2f(a.imag, a.real);
27423  }
27424  lnr = logf(r);
27425  z_r = expf(lnr * b.real - theta * b.imag);
27426  z_theta = theta * b.real + lnr * b.imag;
27427  z.real = z_r * cosf(z_theta);
27428  z.imag = z_r * sinf(z_theta);
27429  return z;
27430  }
27431  #endif
27432 #endif
27433 
27434 #if CYTHON_CCOMPLEX
27435  #ifdef __cplusplus
27436  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
27437  return ::std::complex< double >(x, y);
27438  }
27439  #else
27440  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
27441  return x + y*(__pyx_t_double_complex)_Complex_I;
27442  }
27443  #endif
27444 #else
27445  static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
27446  __pyx_t_double_complex z;
27447  z.real = x;
27448  z.imag = y;
27449  return z;
27450  }
27451 #endif
27452 
27453 #if CYTHON_CCOMPLEX
27454 #else
27455  static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27456  return (a.real == b.real) && (a.imag == b.imag);
27457  }
27458  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27459  __pyx_t_double_complex z;
27460  z.real = a.real + b.real;
27461  z.imag = a.imag + b.imag;
27462  return z;
27463  }
27464  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27465  __pyx_t_double_complex z;
27466  z.real = a.real - b.real;
27467  z.imag = a.imag - b.imag;
27468  return z;
27469  }
27470  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27471  __pyx_t_double_complex z;
27472  z.real = a.real * b.real - a.imag * b.imag;
27473  z.imag = a.real * b.imag + a.imag * b.real;
27474  return z;
27475  }
27476  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27477  __pyx_t_double_complex z;
27478  double denom = b.real * b.real + b.imag * b.imag;
27479  z.real = (a.real * b.real + a.imag * b.imag) / denom;
27480  z.imag = (a.imag * b.real - a.real * b.imag) / denom;
27481  return z;
27482  }
27483  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) {
27484  __pyx_t_double_complex z;
27485  z.real = -a.real;
27486  z.imag = -a.imag;
27487  return z;
27488  }
27489  static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) {
27490  return (a.real == 0) && (a.imag == 0);
27491  }
27492  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) {
27493  __pyx_t_double_complex z;
27494  z.real = a.real;
27495  z.imag = -a.imag;
27496  return z;
27497  }
27498  #if 1
27499  static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) {
27500  #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
27501  return sqrt(z.real*z.real + z.imag*z.imag);
27502  #else
27503  return hypot(z.real, z.imag);
27504  #endif
27505  }
27506  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex a, __pyx_t_double_complex b) {
27507  __pyx_t_double_complex z;
27508  double r, lnr, theta, z_r, z_theta;
27509  if (b.imag == 0 && b.real == (int)b.real) {
27510  if (b.real < 0) {
27511  double denom = a.real * a.real + a.imag * a.imag;
27512  a.real = a.real / denom;
27513  a.imag = -a.imag / denom;
27514  b.real = -b.real;
27515  }
27516  switch ((int)b.real) {
27517  case 0:
27518  z.real = 1;
27519  z.imag = 0;
27520  return z;
27521  case 1:
27522  return a;
27523  case 2:
27524  z = __Pyx_c_prod(a, a);
27525  return __Pyx_c_prod(a, a);
27526  case 3:
27527  z = __Pyx_c_prod(a, a);
27528  return __Pyx_c_prod(z, a);
27529  case 4:
27530  z = __Pyx_c_prod(a, a);
27531  return __Pyx_c_prod(z, z);
27532  }
27533  }
27534  if (a.imag == 0) {
27535  if (a.real == 0) {
27536  return a;
27537  }
27538  r = a.real;
27539  theta = 0;
27540  } else {
27541  r = __Pyx_c_abs(a);
27542  theta = atan2(a.imag, a.real);
27543  }
27544  lnr = log(r);
27545  z_r = exp(lnr * b.real - theta * b.imag);
27546  z_theta = theta * b.real + lnr * b.imag;
27547  z.real = z_r * cos(z_theta);
27548  z.imag = z_r * sin(z_theta);
27549  return z;
27550  }
27551  #endif
27552 #endif
27553 
27554 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
27555  PyObject *empty_list = 0;
27556  PyObject *module = 0;
27557  PyObject *global_dict = 0;
27558  PyObject *empty_dict = 0;
27559  PyObject *list;
27560  #if PY_VERSION_HEX < 0x03030000
27561  PyObject *py_import;
27562  py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
27563  if (!py_import)
27564  goto bad;
27565  #endif
27566  if (from_list)
27567  list = from_list;
27568  else {
27569  empty_list = PyList_New(0);
27570  if (!empty_list)
27571  goto bad;
27572  list = empty_list;
27573  }
27574  global_dict = PyModule_GetDict(__pyx_m);
27575  if (!global_dict)
27576  goto bad;
27577  empty_dict = PyDict_New();
27578  if (!empty_dict)
27579  goto bad;
27580  {
27581  #if PY_MAJOR_VERSION >= 3
27582  if (level == -1) {
27583  if (strchr(__Pyx_MODULE_NAME, '.')) {
27584  #if PY_VERSION_HEX < 0x03030000
27585  PyObject *py_level = PyInt_FromLong(1);
27586  if (!py_level)
27587  goto bad;
27588  module = PyObject_CallFunctionObjArgs(py_import,
27589  name, global_dict, empty_dict, list, py_level, NULL);
27590  Py_DECREF(py_level);
27591  #else
27592  module = PyImport_ImportModuleLevelObject(
27593  name, global_dict, empty_dict, list, 1);
27594  #endif
27595  if (!module) {
27596  if (!PyErr_ExceptionMatches(PyExc_ImportError))
27597  goto bad;
27598  PyErr_Clear();
27599  }
27600  }
27601  level = 0;
27602  }
27603  #endif
27604  if (!module) {
27605  #if PY_VERSION_HEX < 0x03030000
27606  PyObject *py_level = PyInt_FromLong(level);
27607  if (!py_level)
27608  goto bad;
27609  module = PyObject_CallFunctionObjArgs(py_import,
27610  name, global_dict, empty_dict, list, py_level, NULL);
27611  Py_DECREF(py_level);
27612  #else
27613  module = PyImport_ImportModuleLevelObject(
27614  name, global_dict, empty_dict, list, level);
27615  #endif
27616  }
27617  }
27618 bad:
27619  #if PY_VERSION_HEX < 0x03030000
27620  Py_XDECREF(py_import);
27621  #endif
27622  Py_XDECREF(empty_list);
27623  Py_XDECREF(empty_dict);
27624  return module;
27625 }
27626 
27627 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
27628  const long neg_one = (long) -1, const_zero = 0;
27629  const int is_unsigned = neg_one > const_zero;
27630 #if PY_MAJOR_VERSION < 3
27631  if (likely(PyInt_Check(x))) {
27632  if (sizeof(long) < sizeof(long)) {
27633  __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
27634  } else {
27635  long val = PyInt_AS_LONG(x);
27636  if (is_unsigned && unlikely(val < 0)) {
27637  goto raise_neg_overflow;
27638  }
27639  return (long) val;
27640  }
27641  } else
27642 #endif
27643  if (likely(PyLong_Check(x))) {
27644  if (is_unsigned) {
27645 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27646  #if CYTHON_USE_PYLONG_INTERNALS
27647  switch (Py_SIZE(x)) {
27648  case 0: return 0;
27649  case 1: __PYX_VERIFY_RETURN_INT(long, digit, ((PyLongObject*)x)->ob_digit[0]);
27650  }
27651  #endif
27652 #endif
27653  if (unlikely(Py_SIZE(x) < 0)) {
27654  goto raise_neg_overflow;
27655  }
27656  if (sizeof(long) <= sizeof(unsigned long)) {
27657  __PYX_VERIFY_RETURN_INT(long, unsigned long, PyLong_AsUnsignedLong(x))
27658  } else if (sizeof(long) <= sizeof(unsigned long long)) {
27659  __PYX_VERIFY_RETURN_INT(long, unsigned long long, PyLong_AsUnsignedLongLong(x))
27660  }
27661  } else {
27662 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27663  #if CYTHON_USE_PYLONG_INTERNALS
27664  switch (Py_SIZE(x)) {
27665  case 0: return 0;
27666  case 1: __PYX_VERIFY_RETURN_INT(long, digit, +(((PyLongObject*)x)->ob_digit[0]));
27667  case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, -(sdigit) ((PyLongObject*)x)->ob_digit[0]);
27668  }
27669  #endif
27670 #endif
27671  if (sizeof(long) <= sizeof(long)) {
27672  __PYX_VERIFY_RETURN_INT(long, long, PyLong_AsLong(x))
27673  } else if (sizeof(long) <= sizeof(long long)) {
27674  __PYX_VERIFY_RETURN_INT(long, long long, PyLong_AsLongLong(x))
27675  }
27676  }
27677  {
27678 #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
27679  PyErr_SetString(PyExc_RuntimeError,
27680  "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
27681 #else
27682  long val;
27683  PyObject *v = __Pyx_PyNumber_Int(x);
27684  #if PY_MAJOR_VERSION < 3
27685  if (likely(v) && !PyLong_Check(v)) {
27686  PyObject *tmp = v;
27687  v = PyNumber_Long(tmp);
27688  Py_DECREF(tmp);
27689  }
27690  #endif
27691  if (likely(v)) {
27692  int one = 1; int is_little = (int)*(unsigned char *)&one;
27693  unsigned char *bytes = (unsigned char *)&val;
27694  int ret = _PyLong_AsByteArray((PyLongObject *)v,
27695  bytes, sizeof(val),
27696  is_little, !is_unsigned);
27697  Py_DECREF(v);
27698  if (likely(!ret))
27699  return val;
27700  }
27701 #endif
27702  return (long) -1;
27703  }
27704  } else {
27705  long val;
27706  PyObject *tmp = __Pyx_PyNumber_Int(x);
27707  if (!tmp) return (long) -1;
27708  val = __Pyx_PyInt_As_long(tmp);
27709  Py_DECREF(tmp);
27710  return val;
27711  }
27712 raise_overflow:
27713  PyErr_SetString(PyExc_OverflowError,
27714  "value too large to convert to long");
27715  return (long) -1;
27716 raise_neg_overflow:
27717  PyErr_SetString(PyExc_OverflowError,
27718  "can't convert negative value to long");
27719  return (long) -1;
27720 }
27721 
27722 static int __Pyx_check_binary_version(void) {
27723  char ctversion[4], rtversion[4];
27724  PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
27725  PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
27726  if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
27727  char message[200];
27728  PyOS_snprintf(message, sizeof(message),
27729  "compiletime version %s of module '%.100s' "
27730  "does not match runtime version %s",
27731  ctversion, __Pyx_MODULE_NAME, rtversion);
27732  return PyErr_WarnEx(NULL, message, 1);
27733  }
27734  return 0;
27735 }
27736 
27737 #ifndef __PYX_HAVE_RT_ImportModule
27738 #define __PYX_HAVE_RT_ImportModule
27739 static PyObject *__Pyx_ImportModule(const char *name) {
27740  PyObject *py_name = 0;
27741  PyObject *py_module = 0;
27742  py_name = __Pyx_PyIdentifier_FromString(name);
27743  if (!py_name)
27744  goto bad;
27745  py_module = PyImport_Import(py_name);
27746  Py_DECREF(py_name);
27747  return py_module;
27748 bad:
27749  Py_XDECREF(py_name);
27750  return 0;
27751 }
27752 #endif
27753 
27754 #ifndef __PYX_HAVE_RT_ImportType
27755 #define __PYX_HAVE_RT_ImportType
27756 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
27757  size_t size, int strict)
27758 {
27759  PyObject *py_module = 0;
27760  PyObject *result = 0;
27761  PyObject *py_name = 0;
27762  char warning[200];
27763  Py_ssize_t basicsize;
27764 #ifdef Py_LIMITED_API
27765  PyObject *py_basicsize;
27766 #endif
27767  py_module = __Pyx_ImportModule(module_name);
27768  if (!py_module)
27769  goto bad;
27770  py_name = __Pyx_PyIdentifier_FromString(class_name);
27771  if (!py_name)
27772  goto bad;
27773  result = PyObject_GetAttr(py_module, py_name);
27774  Py_DECREF(py_name);
27775  py_name = 0;
27776  Py_DECREF(py_module);
27777  py_module = 0;
27778  if (!result)
27779  goto bad;
27780  if (!PyType_Check(result)) {
27781  PyErr_Format(PyExc_TypeError,
27782  "%.200s.%.200s is not a type object",
27783  module_name, class_name);
27784  goto bad;
27785  }
27786 #ifndef Py_LIMITED_API
27787  basicsize = ((PyTypeObject *)result)->tp_basicsize;
27788 #else
27789  py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
27790  if (!py_basicsize)
27791  goto bad;
27792  basicsize = PyLong_AsSsize_t(py_basicsize);
27793  Py_DECREF(py_basicsize);
27794  py_basicsize = 0;
27795  if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
27796  goto bad;
27797 #endif
27798  if (!strict && (size_t)basicsize > size) {
27799  PyOS_snprintf(warning, sizeof(warning),
27800  "%s.%s size changed, may indicate binary incompatibility",
27801  module_name, class_name);
27802  if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
27803  }
27804  else if ((size_t)basicsize != size) {
27805  PyErr_Format(PyExc_ValueError,
27806  "%.200s.%.200s has the wrong size, try recompiling",
27807  module_name, class_name);
27808  goto bad;
27809  }
27810  return (PyTypeObject *)result;
27811 bad:
27812  Py_XDECREF(py_module);
27813  Py_XDECREF(result);
27814  return NULL;
27815 }
27816 #endif
27817 
27818 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
27819  while (t->p) {
27820  #if PY_MAJOR_VERSION < 3
27821  if (t->is_unicode) {
27822  *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
27823  } else if (t->intern) {
27824  *t->p = PyString_InternFromString(t->s);
27825  } else {
27826  *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
27827  }
27828  #else
27829  if (t->is_unicode | t->is_str) {
27830  if (t->intern) {
27831  *t->p = PyUnicode_InternFromString(t->s);
27832  } else if (t->encoding) {
27833  *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
27834  } else {
27835  *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
27836  }
27837  } else {
27838  *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
27839  }
27840  #endif
27841  if (!*t->p)
27842  return -1;
27843  ++t;
27844  }
27845  return 0;
27846 }
27847 
27848 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
27849  return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
27850 }
27851 static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
27852  Py_ssize_t ignore;
27853  return __Pyx_PyObject_AsStringAndSize(o, &ignore);
27854 }
27855 static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
27856 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
27857  if (
27858 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
27859  __Pyx_sys_getdefaultencoding_not_ascii &&
27860 #endif
27861  PyUnicode_Check(o)) {
27862 #if PY_VERSION_HEX < 0x03030000
27863  char* defenc_c;
27864  PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
27865  if (!defenc) return NULL;
27866  defenc_c = PyBytes_AS_STRING(defenc);
27867 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
27868  {
27869  char* end = defenc_c + PyBytes_GET_SIZE(defenc);
27870  char* c;
27871  for (c = defenc_c; c < end; c++) {
27872  if ((unsigned char) (*c) >= 128) {
27873  PyUnicode_AsASCIIString(o);
27874  return NULL;
27875  }
27876  }
27877  }
27878 #endif
27879  *length = PyBytes_GET_SIZE(defenc);
27880  return defenc_c;
27881 #else
27882  if (__Pyx_PyUnicode_READY(o) == -1) return NULL;
27883 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
27884  if (PyUnicode_IS_ASCII(o)) {
27885  *length = PyUnicode_GET_LENGTH(o);
27886  return PyUnicode_AsUTF8(o);
27887  } else {
27888  PyUnicode_AsASCIIString(o);
27889  return NULL;
27890  }
27891 #else
27892  return PyUnicode_AsUTF8AndSize(o, length);
27893 #endif
27894 #endif
27895  } else
27896 #endif
27897 #if !CYTHON_COMPILING_IN_PYPY
27898  if (PyByteArray_Check(o)) {
27899  *length = PyByteArray_GET_SIZE(o);
27900  return PyByteArray_AS_STRING(o);
27901  } else
27902 #endif
27903  {
27904  char* result;
27905  int r = PyBytes_AsStringAndSize(o, &result, length);
27906  if (unlikely(r < 0)) {
27907  return NULL;
27908  } else {
27909  return result;
27910  }
27911  }
27912 }
27913 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
27914  int is_true = x == Py_True;
27915  if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
27916  else return PyObject_IsTrue(x);
27917 }
27918 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
27919  PyNumberMethods *m;
27920  const char *name = NULL;
27921  PyObject *res = NULL;
27922 #if PY_MAJOR_VERSION < 3
27923  if (PyInt_Check(x) || PyLong_Check(x))
27924 #else
27925  if (PyLong_Check(x))
27926 #endif
27927  return Py_INCREF(x), x;
27928  m = Py_TYPE(x)->tp_as_number;
27929 #if PY_MAJOR_VERSION < 3
27930  if (m && m->nb_int) {
27931  name = "int";
27932  res = PyNumber_Int(x);
27933  }
27934  else if (m && m->nb_long) {
27935  name = "long";
27936  res = PyNumber_Long(x);
27937  }
27938 #else
27939  if (m && m->nb_int) {
27940  name = "int";
27941  res = PyNumber_Long(x);
27942  }
27943 #endif
27944  if (res) {
27945 #if PY_MAJOR_VERSION < 3
27946  if (!PyInt_Check(res) && !PyLong_Check(res)) {
27947 #else
27948  if (!PyLong_Check(res)) {
27949 #endif
27950  PyErr_Format(PyExc_TypeError,
27951  "__%.4s__ returned non-%.4s (type %.200s)",
27952  name, name, Py_TYPE(res)->tp_name);
27953  Py_DECREF(res);
27954  return NULL;
27955  }
27956  }
27957  else if (!PyErr_Occurred()) {
27958  PyErr_SetString(PyExc_TypeError,
27959  "an integer is required");
27960  }
27961  return res;
27962 }
27963 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
27964  Py_ssize_t ival;
27965  PyObject *x;
27966 #if PY_MAJOR_VERSION < 3
27967  if (likely(PyInt_CheckExact(b)))
27968  return PyInt_AS_LONG(b);
27969 #endif
27970  if (likely(PyLong_CheckExact(b))) {
27971  #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
27972  #if CYTHON_USE_PYLONG_INTERNALS
27973  switch (Py_SIZE(b)) {
27974  case -1: return -(sdigit)((PyLongObject*)b)->ob_digit[0];
27975  case 0: return 0;
27976  case 1: return ((PyLongObject*)b)->ob_digit[0];
27977  }
27978  #endif
27979  #endif
27980  return PyLong_AsSsize_t(b);
27981  }
27982  x = PyNumber_Index(b);
27983  if (!x) return -1;
27984  ival = PyInt_AsSsize_t(x);
27985  Py_DECREF(x);
27986  return ival;
27987 }
27988 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
27989  return PyInt_FromSize_t(ival);
27990 }
27991 
27992 
27993 #endif /* Py_PYTHON_H */
int stretchlin_force_set_params(int bond_type, double r0, double kslin)
set the parameters for the stretchlin_force potential
int stretching_force_set_params(int bond_type, double r0, double ks)
set the parameters for the stretching_force potential
int subt_lj_set_params(int bond_type, double k, double r)
set the parameters for the subtract LJ potential
Definition: subt_lj.cpp:30
int dihedral_set_params(int bond_type, int mult, double bend, double phase)
set dihedral parameters
Definition: dihedral.cpp:28
int volume_force_set_params(int bond_type, double V0, double kv)
set parameters for the VOLUME_FORCE potential.
Routines to calculate the energy and/or force for a particle pair or bonds via interpolating from loo...
Routines to calculate the AREA_FORCE_GLOBAL energy or/and and force for a particle triple (triangle f...
Routines to calculate the STRETCHING_FORCE Energy or/and STRETCHING_FORCE force for a particle pair...
field containing the interaction parameters for nonbonded interactions.
Routines to calculate the angle energy or/and and force for a particle triple.
int virtual_set_params(int bond_type)
Routines to calculate the HARMONIC Energy or/and HARMONIC force for a particle pair.
Routines to calculate the generalized lennard jones energy and/or force for a particle pair...
ewaldgpu_real real
int angle_cosine_set_params(int bond_type, double bend, double phi0)
set parameters for the angle potential.
Routines to subtract the LENNARD-JONES Energy and/or the LENNARD-JONES force for a particle pair...
int ljgen_set_params(int part_type_a, int part_type_b, double eps, double sig, double cut, double shift, double offset, int a1, int a2, double b1, double b2, double cap_radius, double lambda, double softrad)
Definition: ljgen.cpp:40
Small functions that are useful not only for one modul.
int i
Definition: lbgpu.cpp:161
int overlapped_bonded_set_params(int bond_type, OverlappedBondedInteraction overlap_type, char *filename)
Bonded overlapped potentials: Reads overlapped parameters from a file.
Definition: overlap.cpp:32
RATTLE Algorithm (Rattle: A "Velocity" Version of the Shake Algorithm for Molecular Dynamics Calculat...
#define malloc(s)
Definition: debug.hpp:40
cudaStream_t stream[1]
cuda streams for parallel computing on cpu and gpu
OverlappedBondedInteraction
Specify overlapped bonded interactions.
int lennard_jones_set_params(int part_type_a, int part_type_b, double eps, double sig, double cut, double shift, double offset, double cap_radius, double min)
Definition: lj.cpp:39
IA_parameters * get_ia_param(int i, int j)
get interaction parameters between particle sorts i and j
int tabulated_bonded_set_params(int bond_type, TabulatedBondedInteraction tab_type, char *filename)
Bonded tabulated potentials: Reads tabulated parameters and force and energy tables from a file...
Definition: tab.cpp:112
Routines to calculate the dihedral energy or/and and force for a particle quadruple.
Domain decomposition for parallel computing.
int bending_force_set_params(int bond_type, double phi0, double kb)
set bending_force parameters
int area_force_global_set_params(int bond_type, double A0_g, double ka_g)
set parameters for the AREA_FORCE_GLOBAL potential.
Bonded_ia_parameters * bonded_ia_params
Field containing the paramters of the bonded ia types.
int angle_harmonic_set_params(int bond_type, double bend, double phi0)
set parameters for the angle potential.
Routines to calculate the HARMONIC Energy or/and HARMONIC force for a particle pair.
cudaEvent_t * start
Routines to calculate the energy and/or force for bonds, angles and dihedrals as a sum of N functions...
int harmonic_dumbbell_set_params(int bond_type, double k1, double k2, double r, double r_cut)
set the parameters for the harmonic potential
Routines to calculate the FENE Energy or/and FENE force for a particle pair.
#define free(v)
Definition: debug.hpp:41
Routines to calculate the lennard jones energy and/or force for a particle pair.
int forcecap_set_params(double forcecap)
Definition: forcecap.cpp:31
Routines to calculate the bending_force energy or/and and force for a particle quadruple (two triangl...
Routines to calculate the angle energy or/and and force for a particle triple.
int harmonic_set_params(int bond_type, double k, double r, double r_cut)
set the parameters for the harmonic potential
Definition: harmonic.cpp:28
Routines to calculate the angle energy or/and and force for a particle triple.
int fene_set_params(int bond_type, double k, double drmax, double r0)
set the parameters for the fene potential
Definition: fene.cpp:30
Various procedures concerning interactions between particles.
Routines to calculate the VOLUME_FORCE energy or/and and force for a particle triple (triangle from m...
Routines to calculate the AREA_FORCE_LOCAL energy or/and and force for a particle triple (triangle fr...
double force_cap
For the warmup you can cap the singularity of various potentials.
Definition: forcecap.cpp:29
TabulatedBondedInteraction
Specify tabulated bonded interactions.
Routines to calculate the STRETCHLIN_FORCE Energy or/and STRETCHLIN_FORCE force for a particle pair...
int angle_cossquare_set_params(int bond_type, double bend, double phi0)
set parameters for the angle potential.
int area_force_local_set_params(int bond_type, double A0_l, double ka_l)
set parameters for the AREA_FORCE_LOCAL potential.